问题描述
threadPool.QueueUserWorkItem开启多个线程的时候,在调试阶段,程序没有跑完,我中途给短掉,在运行的时候,程序有时候就死了,好像在争夺资源,一直在死锁,请问有什么方法来清空线程池吗,或者有什么方法解决这个问题吗
解决方案
解决方案二:
该回复于2012-03-31 09:03:00被版主删除
解决方案三:
线程池中,每个方法都调用了一个锁对象,我把这段改成单线程就不会出现上述现象了,但是这不是我想要的解决方法。我在想如果程序自己去跑,会出现这种情况吗,如果是定时循环调用的话。
解决方案四:
好像在争夺资源?自己写的多线程,应该能够估计到哪些资源可能出现死锁吧,在代码中增加一些日志信息,通过互不干扰的log方式查找出现问题的点
解决方案五:
ThreadPool加入线程有限制的。共享资源加锁。进线程池时应判断池中有多少个线程。每个池程应该提供休眠时间
时间: 2024-11-03 19:25:26