我想异步运行某些对象的初始化,但是某些对象依赖于其他对象的初始化.然后在我的应用程序的其余部分继续之前,需要初始化所有对象.
是否可以在一个任务上调用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[ ]>( ) );
}
Run Code Online (Sandbox Code Playgroud)
或者第二个Wait()/ WaitAll()会失败吗?