简述Thread 类的构造函数的委托类型为哪2 个?
参考答案:
Thread
类在 C# 中用于创建和控制线程。Thread
类有几个构造函数,但当我们提到“委托类型”的构造函数时,我们通常指的是那些接受一个 ThreadStart
或 ParameterizedThreadStart
委托作为参数的构造函数。
- ThreadStart 委托:
ThreadStart
是一个没有参数且没有返回值的委托。它通常用于那些不需要任何输入参数的新线程方法。
示例:
ThreadStart threadStart = new ThreadStart(MyMethod);
Thread myThread = new Thread(threadStart);
myThread.Start();
void MyMethod()
{
// 线程执行的代码
}
- ParameterizedThreadStart 委托:
ParameterizedThreadStart
是一个接受一个Object
参数且没有返回值的委托。这允许你为线程方法传递一个参数。
示例:
ParameterizedThreadStart parameterizedThreadStart = new ParameterizedThreadStart(MyMethodWithParameter);
Thread myThread = new Thread(parameterizedThreadStart);
myThread.Start("Hello from thread!");
void MyMethodWithParameter(object obj)
{
string message = (string)obj;
// 使用 message 做一些操作
}
当你创建一个新的 Thread
对象时,你可以选择使用哪种委托类型,这取决于你的线程方法是否需要参数。如果你的方法不需要参数,使用 ThreadStart
。如果你的方法需要一个参数,使用 ParameterizedThreadStart
。