日期:2014-05-17  浏览次数:20869 次

关于线程生产者和消费者的问题
现在正在编写一个程序:一个线程采集数据,一个线程计算数据。

但是跟普通的生产者消费者模型不同,程序要求采集数据的线程不能停(一直lock)。但是计算的速度肯定是比采集数据快的,所以现在就因为这个问题搞不定。

计算的线程可以等待采集线程,但是采集是不能等计算线程的。现在采集到的程序放到数组就不知道怎么读出来了。

各位大神可否能在思想上给指导一下!多谢!

------解决方案--------------------
不用等,采集的数据先放到内存,比如List中,另一个线程从List中拿数据进行处理
------解决方案--------------------
像二楼说的那样,使用线程安全的List类作为消息队列,采集线程添加数据到队列中,计算线程从队列中取数据