我有一个类似下面的任务。
我有一个类似下面的任务。
var task = Task<string>.Factory.StartNew(() => longrunningmethod()
.ContinueWith(a =>
longrunningmethodcompleted((Task<string>)a,
TaskScheduler.FromCurrentSynchronizationContext())));
task.Wait();
我的任务将调用longrunningmethod,完成后将调用completed方法。在我的longrunningmethod中,我延迟了Thread.Sleep(30000)
。当我使用Task.wait时,系统会挂起并且不会调用longrunningmethodcompleted方法。如果我不使用Task.wait,则一切顺利进行。