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