ThreadPool.QueueUserWorkItem方法接收一個(gè)委托(Delegate),用于指定要在線程池中執(zhí)行的方法。
委托的簽名應(yīng)該與以下示例中的ThreadStart委托相匹配:
void YourMethod();
或者,如果你需要傳遞參數(shù)給方法,可以使用ParameterizedThreadStart委托:
void YourMethod(object state);
其中,state參數(shù)用于傳遞給方法的任意對(duì)象。
以下是使用ThreadPool.QueueUserWorkItem方法的示例:
// 定義一個(gè)方法,用于在線程池中執(zhí)行
void DoWork()
{
// 在這里編寫要執(zhí)行的代碼
}
// 調(diào)用ThreadPool.QueueUserWorkItem方法,并傳遞要執(zhí)行的方法
ThreadPool.QueueUserWorkItem(DoWork);
或者,如果你想傳遞參數(shù)給方法:
// 定義一個(gè)方法,用于在線程池中執(zhí)行
void DoWork(object state)
{
// 將傳遞的參數(shù)轉(zhuǎn)換為所需的類型
int num = (int)state;
// 在這里編寫要執(zhí)行的代碼
}
// 調(diào)用ThreadPool.QueueUserWorkItem方法,并傳遞要執(zhí)行的方法以及參數(shù)
int yourNumber = 10;
ThreadPool.QueueUserWorkItem(DoWork, yourNumber);
在上述示例中,當(dāng)線程池中的線程可用時(shí),DoWork方法將被調(diào)用并在后臺(tái)線程上執(zhí)行。如果方法需要返回值,可以使用其他機(jī)制,例如異步編程模型(Async/Await)來處理。