我想异步运行一些对象的初始化,但有些对象依赖于其他对象的初始化。然后需要在我的应用程序的其余部分继续之前初始化所有对象。
是否可以在任务上调用 Wait() 并稍后再次调用 Wait() ,或者在我的示例 WaitAll() 上包含它的集合?
Dictionary<String, Task> taskdict = new Dictionary<String, Task>( );
taskdict.Add( "Task1",
Task.Factory.StartNew( ( ) => {
//Do stuff
} ) );
taskdict.Add( "Task2",
Task.Factory.StartNew( ( ) => {
taskdict[ "Task1" ].Wait( );
//Do stuff
} ) );
try {
Task.WaitAll( taskdict.Values.Convert<Task[ ]>( ) );
}
或者第二个 Wait() / WaitAll() 会失败吗?