1

我正在尝试在多线程应用程序中解决 Mac 上 SL 上的一个奇怪问题。我的应用程序使用 ThreadPool 对各种不同的工作项进行排队。我有一个HandleRequest只通过调用的方法ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest))

该应用程序运行非常缓慢,因此我从 Windows 远程调试并暂停它以找到一堆卡在 HandleRequest 中的线程,因为它们正在等待有限的资源。没关系,因为那里还有另一个问题,但我也注意到主线程中有一个 HandleRequest 等待。怎么会这样?我认为 ThreadPool 在后台创建了工作线程并在它们上面执行了任务。

发生这种情况是因为 ThreadPool 已用完工作线程,因此正在使用调用线程来尝试执行回调方法吗?

4

0 回答 0