为了账号安全,请及时绑定邮箱和手机立即绑定

可能是锁的问题

可能是锁的问题

隔江千里 2018-12-06 15:25:42
我在做一个线程池,我想取消一项在任务队列或是正在执行的任务,如果这项任务在我想abort时已经执行完了就什么也不要做。 具体的情景时:当我想Abort一个任务时,如果它在任务队列Queue<Param>中我移除它,可是正当我要移除它时,有了空闲的线程,它自己已经从任务队列中移除,在线程池中执行了,而当我想在线程池中(我的一个哈希储存了Dictionary<Thread,Param>线程对象)找到这个线程实例并Abort它时,这个任务已经正常的结束了,我再Abort这个线程,此时这个空闲线程又引入了新的任务,当我真正Abort掉的是一个另一个任务 这里有两个非种特殊的情况,怎么避免其发生,能否给个简单的示例  
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 329 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信