要实现这么一个东西,我这儿有个dictionary,会不定时的往里add数据。另有一个线程(叫T吧)定时的拿这个dictionary,接下来就是要设计的部分:拿到这个dictionary后呢 ,需要根据里面每一个元素去做一个操作,这个操作不一定成功,如果成功后就将dictionary的这个元素去掉,如果不成功,就保留着,等待线程T再次拿到这个dictionary时,再操作。
dic里面元素可能很多,对每一个元素的操作可能比较费时,所以如果以同步的方式,可能还没遍历完dic,线程T就又开始了,所以应该用多线程吧,求一个思路。谢谢!
你说的我明白,你还是没仔细看我问题。我的消费者比较耗时间,而且需要每隔一段时间便利一下整个dic
追答我觉的你没有说清楚,如果你只是想在消费者中再开多个线程来处理,那就可以考虑用AutoResetEvent数组,WaitHandle.WaitAll(AutoResetEvent[]);可以等待所有操作完成再继续。
请仔细看问题,谢谢
追答我小学没有毕业