跳到主要内容

简述Thread 类的构造函数的委托类型为哪2 个?

参考答案:

Thread 类在 C# 中用于创建和控制线程。Thread 类有几个构造函数,但当我们提到“委托类型”的构造函数时,我们通常指的是那些接受一个 ThreadStartParameterizedThreadStart 委托作为参数的构造函数。

  1. ThreadStart 委托ThreadStart 是一个没有参数且没有返回值的委托。它通常用于那些不需要任何输入参数的新线程方法。

示例:

ThreadStart threadStart = new ThreadStart(MyMethod);
Thread myThread = new Thread(threadStart);
myThread.Start();

void MyMethod()
{
    // 线程执行的代码
}
  1. 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