.net多线程 ThreadPool
1.QueueUserWorkItem
1 ThreadPool.QueueUserWorkItem(t => this.DoSomethingLong("btnThreadPool_Click"));
2.等待 利用ManualResetEvent
1 ManualResetEvent manualResetEvent = new ManualResetEvent(false); 2 //ThreadPool.QueueUserWorkItem(t => 3 //{ 4 // this.DoSomethingLong("btnThreadPool_Click"); 5 // manualResetEvent.Set(); 6 // //manualResetEvent.Reset(); 7 //}); 8 //manualResetEvent.WaitOne();
3.一般来说,不要阻塞线程池的线程 ,因为线程池的线程一旦用光,便没有线程工作了.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步