【问题标题】:Call Task from Thread从线程调用任务
【发布时间】:2014-09-23 06:35:07
【问题描述】:

这个例子叫什么任务?

new Thread(() => { 
Console.WriteLine("AAA"); 
Task.Delay(5000); 
Console.WriteLine("BBB"); }).Start() ;

当我们调用线程的睡眠时,我们调用当前线程,如果我们不创建新任务作为我的例子,那么 task.Delay 是怎么回事?

在本例中,我调用 Task.Delay() 而不创建任务。

【问题讨论】:

  • 在这个问题的背景下做了哪些研究。 Task.Delay 的文档可以在 MSDN 上找到。

标签: c# .net multithreading task


【解决方案1】:

Task.Delay 不会延迟“当前任务”,它会创建一个在指定延迟后完成的新任务。与Thread.Sleep不同,它也不会阻塞并且会立即返回。

使用 Task.Delay 而不使用 awaitContinueWith 或其他类似的方法来等待完成或安排继续是完全没有用的。

【讨论】:

  • 正如德克所说。在您的情况下,您可以调用 Task.Delay(5000).Wait() 来延迟输出。
猜你喜欢
  • 2013-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多