RanToCompletion 指的是一个线程成功完成了其任务并进入了完成状态。在 C# 中,当通过 Task.Run() 或 Task.Factory.StartNew() 方法创建一个任务时,任务可以有不同的状态,包括:

  1. TaskStatus.Created:任务已创建但尚未启动。
  2. TaskStatus.WaitingForActivation:任务正在等待被激活。
  3. TaskStatus.WaitingToRun:任务已被激活但尚未开始执行。
  4. TaskStatus.Running:任务正在运行。
  5. TaskStatus.WaitingForChildrenToComplete:任务正在等待其子任务完成。
  6. TaskStatus.RanToCompletion:任务成功完成。
  7. TaskStatus.Canceled:任务被取消。
  8. TaskStatus.Faulted:任务发生错误。

当一个任务成功完成并进入了 'RanToCompletion' 状态时,意味着任务的执行成功且没有发生任何错误。可以使用 Task.Status 属性来获取任务的当前状态,例如:

Task<int> task = Task.Run(() => {
    // 任务执行的代码
    return 42;
});

// 等待任务完成
task.Wait();

if (task.Status == TaskStatus.RanToCompletion) {
    Console.WriteLine('任务执行成功');
} else {
    Console.WriteLine('任务执行失败');
}

上述代码中,当任务成功完成时,将打印 '任务执行成功'。

C# 线程状态:RanToCompletion 详解

原文地址: https://www.cveoy.top/t/topic/l8VB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录