解决方案 »

  1.   

    看成是两部分(1)input :每次将读取到的数据放到最后一个数组中link【size】    ---->         link             ----> (2)output :读取之下判断一下它是否为空,为空则等待n时间,在判断是否为空,不为空则取第一个数组值。
      

  2.   


    不对,不对,我仔细想了一下,发现问题了,这里面存在竞争条件,虽然buffer的first 和 last没有竞争,但是统计数量的N发生了并发的写操作,需要同步起来,就好了。但是加锁是一个很重量及的操作,因为只有一个计数需要同步,所以可以用atomicInteger 或者使用synchronized关键字就好了。 不过还是谢谢您嗯。