Edu*_*ner 5 c# multithreading threadpool
我使用 ThreadPool.QueueUserWorkItem 在 Windows CE 上创建线程(我使用 .NET Framework 3.5)。有时线程会等待某些事情并且启动得太晚。在 QueueUserWorkItem 文档中,它表示“当线程池线程可用时”将执行委托。
有没有办法强制线程池立即执行我的委托?Thread.Start() 可以解决这个问题吗?
谢谢你!
首先,QueueUserWorkItem不会创建线程,它只是将“任务”放入线程池的队列中,供工作人员拾取并执行。在饱和的情况下(任务多于可用线程),无法保证工作线程何时可用于执行任务。如果您想立即执行,请使用 的实例Thread。提高使用线程池的几率的唯一方法是增加工作线程的数量。
编辑:需要明确的是,如果线程池线程确实是空闲的,它们将开始工作并执行它,通常比启动新线程更快。
| 归档时间: |
|
| 查看次数: |
1657 次 |
| 最近记录: |