ThreadPool 類提供一個線程池,該線程池可用于發(fā)送工作項、處理異步 I/O、代表其他線程等待以及處理計時器。
線程池的常用方法
1. public static Boolean QueueUserWorkItem(WaitCallback wc, Object state);
WaitCallback回調(diào)函數(shù)就是前文所闡述的應(yīng)用程序,通過將一些回調(diào)函數(shù)放入線程池中讓其形成隊列,然后線程池會自動創(chuàng)建或者復(fù)用線程
去執(zhí)行處理這些回調(diào)函數(shù),
State: 這個參數(shù)也是非常重要的,當(dāng)執(zhí)行帶有參數(shù)的回調(diào)函數(shù)時,該參數(shù)會將引用傳入,回調(diào)方法中,供其使用
3. public static bool SetMaxThreads(int workerThreads,int completionPortThreads);
4. public static bool SetMinThreads(int workerThreads,int completionPortThreads);
3和4方法 CLR線程池類中預(yù)留的兩個能夠更改,線程池中的工作線程和I/O線程數(shù)量的方法。
使用該方法時有兩點必須注意:
1.不能將輔助線程的數(shù)目或 I/O 完成線程的數(shù)目設(shè)置為小于計算機的處理器數(shù)目。
2.微軟不建議程序員使用這兩個方法的原因是可能會影響到線程池中的性能
ThreadPool 方法
BindHandle 已重載。 將操作系統(tǒng)句柄綁定到 ThreadPool。
Public method Supported by the .NET Compact Framework Equals 已重載。 確定兩個 Object 實例是否相等。 (從 Object 繼承。)
Public method Static GetAvailableThreads 檢索由 GetMaxThreads 返回的線程池線程的最大數(shù)目和當(dāng)前活動數(shù)目之間的差值。
Public method Supported by the .NET Compact Framework GetHashCode 用作特定類型的哈希函數(shù)。GetHashCode 適合在哈希算法和數(shù)據(jù)結(jié)構(gòu)(如哈希表)中使用。 (從 Object 繼承。)
Public method Static GetMaxThreads 檢索可以同時處于活動狀態(tài)的線程池請求的數(shù)目。所有大于此數(shù)目的請求將保持排隊狀態(tài),直到線程池線程變?yōu)榭捎谩?/p>
Public method Static GetMinThreads 檢索線程池在新請求預(yù)測中維護的空閑線程數(shù)。
Public method Supported by the .NET Compact Framework GetType 獲取當(dāng)前實例的 Type。 (從 Object 繼承。)
Public method Static Supported by the .NET Compact Framework QueueUserWorkItem 已重載。 將方法排入隊列以便執(zhí)行。此方法在有線程池線程變得可用時執(zhí)行。
Public method Static Supported by the .NET Compact Framework ReferenceEquals 確定指定的 Object 實例是否是相同的實例。 (從 Object 繼承。)
Public method Static RegisterWaitForSingleObject 已重載。 注冊正在等待 WaitHandle 的委托。
Public method Static SetMaxThreads 設(shè)置可以同時處于活動狀態(tài)的線程池的請求數(shù)目。所有大于此數(shù)目的請求將保持排隊狀態(tài),直到線程池線程變?yōu)榭捎谩?/p>
Public method Static SetMinThreads 設(shè)置線程池在新請求預(yù)測中維護的空閑線程數(shù)。
Public method Supported by the .NET Compact Framework ToString 返回表示當(dāng)前 Object 的 String。 (從 Object 繼承。)
Public method Static UnsafeQueueNativeOverlapped 將重疊的 I/O 操作排隊以便執(zhí)行。
Public method Static UnsafeQueueUserWorkItem 注冊一個等待 WaitHandle 的委托。
Public method Static UnsafeRegisterWaitForSingleObject 已重載。 將指定的委托排隊到線程池。
- PC官方版
- 安卓官方手機版
- IOS官方手機版