【发布时间】:2009-09-23 21:07:45
【问题描述】:
我正在使用 C# 在 Visual Studio 2008 中开发我的第一个 ThreadPool 应用程序。
我有一份报告,必须使用我们 SQL Server 上的数据对 2000 到 4000 个零件进行计算。
我在一个线程池中排队所有的零件号,在那里他们开始计算他们的结果。当这些线程完成后,RegisterWaitForSingleObject 事件会触发以取消注册队列项的句柄。
在所有 Queued Items 完成后,有没有办法将它们从 ThreadPool 中删除?
看起来,如果有人使用一组新的 2000 到 4000 个部件运行另一个报告,我无法删除之前的部件数组。
如何删除先前排队的项目?用 workerThreads = 0 调用 SetMaxThreads 可以吗?
我意识到我可以进行实验,但我可能会浪费一周的大部分时间进行实验。
感谢您的宝贵时间,
乔
【问题讨论】:
标签: c# threadpool