运行c#项目时,出现如题的错误“ThreadPool 中没有足够的自由线程来完成该操作。“,有哪位高手知道怎么样解决么?不尽感激!
出错代码
出错代码
//request response async var asyncResult = request.BeginGetResponse(callback, null); //出错位置 if (asyncResult.CompletedSynchronously) return response;
解决方案
10
试试ThreadPool.SetMaxThreads
10
个人感觉问题出在线程内部
假如线程很快能执行完,那ThreadPool肯定不会满
可能执行线程长时间没有结束,导致达到上线,没有资源可用了
10
线程被你用完了,假如你是大量的启动新线程,那就不应该用ThreadPool,你应该使用 new Thread
10
只能用1楼的方法
用Thread类启动大量线程 花销比较大 尤其是启动数量多 生存周期又短的线程