【发布时间】:2011-04-15 02:00:09
【问题描述】:
您好,通常我会使用 Background Worker 执行此操作,但我想使用 C# Task 执行此操作,只是为了更好地理解 Task。
问题是我有一个具有以下属性的类
private int _number1;
public int Number1
{
get { return _number1; }
set { _number1 = value; OnPropertyChanged("Number1");}
}
private int _number2;
public int Number2
{
get { return _number2; }
set { _number2 = value; OnPropertyChanged("Number2");}
}
请注意,我使用的是 INotifyPropertyChanged。
Number1 = Task<int>.Factory.StartNew(() => GenerateResult()).Result;
Number2 = Task<int>.Factory.StartNew(() => GenerateResult2()).Result;
GenerateResult 和 GenerateResult2 只是哑方法,它们休眠然后返回一个数字。
如何使这项工作异步?从现在开始,GenerateResult2() 在 GenerateResult() 完成时首先被调用。
我需要它能够异步工作,因为我不知道每项任务何时完成,甚至不知道它是否会完成。
【问题讨论】:
标签: c# .net multithreading c#-4.0