自动重置事件,两次set时间间隔很小的话,另一个线程WaitOne继续一次的,那就不对了,
线程1:
有数据1->加入队列->AutoResetEvent.set()
有数据2->加入队列->AutoResetEvent.set()
线程2:
while(true)
{
AutoResetEvent.WaitOne();
取队列
....进行其他较耗时操作
}
线程2只循环一次,取一次队列啊,我要想取两次值;或者用其他办法,只要让线程2别
这样:
whiile(true)
{ ---------------->这样很消耗cpu,或者会抢占其他线程cpu的
object obj = queue.deueue();//取头元素
if(null == obj)
{
....进行其他较耗时操作
}
}
?
请发表评论