跳到主要内容

C# Thread 类有哪些常⽤的属性和⽅法?

参考答案:

C# 中的 Thread 类位于 System.Threading 命名空间中,它提供了用于创建和管理线程的功能。以下是 Thread 类的一些常用属性和方法:

常用属性:

  1. CurrentThread: 获取当前正在执行的线程。
  2. IsAlive: 获取一个值,该值指示当前线程的执行状态。
  3. IsBackground: 获取或设置一个值,该值指示线程是否为后台线程。
  4. IsThreadPoolThread: 获取一个值,该值指示线程是否属于线程池。
  5. ManagedThreadId: 获取当前托管线程的唯一标识符。
  6. Name: 获取或设置线程的名称。
  7. Priority: 获取或设置线程的调度优先级。
  8. ThreadState: 获取包含线程状态的值的位字段。

常用方法:

  1. Start(): 启动此线程的执行。
  2. Sleep(int millisecondsTimeout): 使当前线程暂停执行指定的毫秒数。
  3. Join(): 阻塞调用线程,直到当前线程终止执行。
  4. Abort(): 发送一个 Abort 请求到线程,请求线程抛出一个 ThreadAbortException 异常,以便结束其执行。
  5. Interrupt(): 中断处于等待、睡眠或 Join 状态的线程。
  6. ResetAbort(): 清除调用线程的 Abort 请求。
  7. BeginCriticalRegion(): 通知主机执行环境,托管代码已进入一个不应被中断的临界区域。
  8. EndCriticalRegion(): 通知主机执行环境,托管代码已离开一个不应被中断的临界区域。

注意:使用多线程时,必须小心处理同步和线程安全问题,以避免数据不一致和竞态条件。C# 还提供了其他同步原语,如 lock 语句、Monitor 类、Mutex 类、Semaphore 类和 Event 类等,以帮助开发人员更好地管理多线程环境。

此外,从 .NET Framework 4.0 开始,TaskTask<TResult> 类以及 Parallel 类提供了更现代、更易于使用的方法来执行并行和异步操作,这些通常被认为是更优于直接使用 Thread 类的选择。