注册 登录
编程论坛 C# 论坛

关于线程生产者和消费者的问题

wyc199288 发布于 2014-02-12 16:59, 541 次点击
现在正在编写一个程序:一个线程采集数据,一个线程计算数据。

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

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

各位大神可否能在思想上给指导一下!多谢!
2 回复
#2
wp2319572014-02-12 21:52
设计一个标志呢  类似程序更新
有新采集的数据就启动计算程序  
没有则不启动

没做过这方面的東東  瞎说2句
#3
wangnannan2014-02-13 08:25
计算的线程可以等待采集线程,但是采集是不能等计算线程的
那你是不是采集的join到了计算的线程里面了???那这样的话主线程是不能卡住这是肯定的。。。(也就是你的意思采集是不能等计算线程的)
我的想法是最好是类似一个消息机制,当线程结束时,发出一个通知(我运行完了,该你了),然后接到这个通知,使主线程可用
http://blog. 这里有个类似的例子 我不知道是不是那说的那个意思
1