日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线程池 ManualResetEvent

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线程池 ManualResetEvent 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

線程池:

  

  “線程池”是可以用來在后臺執行多個任務的線程集合。(有關背景信息,請參見使用線程處理。)這使主線程可以自由地異步執行其他任務。

線程池通常用于服務器應用程序。每個傳入請求都將分配給線程池中的一個線程,因此可以異步處理請求,而不會占用主線程,也不會延遲后續請求的處理。

一旦池中的某個線程完成任務,它將返回到等待線程隊列中,等待被再次使用。這種重用使應用程序可以避免為每個任務創建新線程的開銷。

線程池通常具有最大線程數限制。如果所有線程都繁忙,則額外的任務將放入隊列中,直到有線程可用時才能夠得到處理。

您可以實現自己的線程池,但是通過 ThreadPool 類使用 .NET Framework 提供的線程池更容易一些。

參見:https://msdn.microsoft.com/zh-cn/library/3dasc8as(vs.80).aspx

?

ManualResetEvent 類

  ManualResetEvent??? 允許線程通過發信號互相通信。? 通常,此通信涉及一個線程在其他線程進行之前必須完成的任務。?

當一個線程開始一個活動(此活動必須完成后,其他線程才能開始)時,它調用 Reset 以將 ManualResetEvent 置于非終止狀態。? 此線程可被視為控制 ManualResetEvent。? 調用 ManualResetEvent 上的 WaitOne 的線程將阻止,并等待信號。? 當控制線程完成活動時,它調用 Set 以發出等待線程可以繼續進行的信號。? 并釋放所有等待線程。?

一旦它被終止,ManualResetEvent 將保持終止狀態,直到它被手動重置。? 即對 WaitOne 的調用將立即返回。?

可以通過將布爾值傳遞給構造函數來控制 ManualResetEvent 的初始狀態,如果初始狀態處于終止狀態,為 true;否則為 false。

ManualResetEvent?? 也可以同 staticWaitAll 和 WaitAny 方法一起使用。

?參見:https://msdn.microsoft.com/zh-cn/library/system.threading.manualresetevent(v=vs.110).aspx

轉載于:https://www.cnblogs.com/ChineseMoonGod/p/4272088.html

總結

以上是生活随笔為你收集整理的线程池 ManualResetEvent的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。