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