请教一个多线程设计的问题
我有一个list<object>, 这个list 的元素会动态的增加,删除
然后每个object对象 有一个专属的 queue 队列, 这个里面的数据必须被顺序处理
怎么用多线程来处理所有的 queue?
简单的
while(true)
{
foreach(var item in list)
{
task.run(()=>{......});
}
}
感觉有2点
1.循环list 的开销有点大
2. 有可能不同的task会执行同一个queue , 造成 queue 中的数据不能被顺序处理