【发布时间】:2012-03-22 14:53:01
【问题描述】:
我一直在查看this article 关于在 C# 中使用任务的信息,如果有人可以为我清理一些东西,我正在徘徊?
在任务上调用等待不会破坏创建任务的目的,因为它不会冻结主线程,因为现在主线程必须等待任务完成。
但是我假设不会立即调用等待,所以现在你什么时候调用它,或者你怎么知道什么时候处理任务。
假设我们有一个这样的简单案例:
void MyFunction()
{
Task t = Task.Factory.StartNew(() => { System.Threading.Thread.Sleep(5000); });
}
如果你立即调用 t.Wait() ,主线程仍然会等待 5 秒才能执行任何其他操作,从用户的角度来看,这有点违背了目的,他们将无法在 5 内执行任何操作秒。您怎么知道 5 秒后该任务已完成?你可以处理 t?什么是正确的处理方法?
对不起,如果这个问题真的很幼稚:(
谢谢大家:D
【问题讨论】: