C# 如何将初始化线程和线程执行内容分开
时间: 2024-09-05 21:01:00 浏览: 44
在C#中,你可以通过使用`ThreadStart`, `Action`或者`Func`委托来将线程的初始化和实际执行内容分离开。这里以`Action`为例,它是一个泛型委托,专门用于代表无返回值的方法,适合于简单的、不需要返回值的线程工作。
下面是如何使用`Action`的例子:
```csharp
// 定义线程执行的内容(无返回值)
Action myTask = () => {
Console.WriteLine("Starting task...");
// 这里放置你的线程任务
for (int i = 0; i < 5; i++)
Console.WriteLine($"Iteration {i}");
};
// 创建一个新的线程并传入初始化操作
Thread thread = new Thread(myTask);
thread.Start(); // 线程会立即开始执行myTask
// 当前线程继续执行其他代码
Console.WriteLine("Main thread continues...");
```
在这个例子中,`myTask`就是一个初始化好的线程执行内容,当你调用`thread.Start()`时,线程就会开始执行这个任务。这种方式让你能够更容易地复用代码,并且更易于管理和测试。
阅读全文