Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 阻止任务。运行方法直到完成_C#_Multithreading_Task - Fatal编程技术网

C# 阻止任务。运行方法直到完成

C# 阻止任务。运行方法直到完成,c#,multithreading,task,C#,Multithreading,Task,我有一些方法需要运行,其中一个应该作为不同的线程运行,因此我使用Task.RunwithLambda,尽管我希望下一个方法在任务完成后立即启动 例如,我希望LastJob()将在MoreWork()完成后启动: public void DoSomeWork() { Task.Run(() => MoreWork()); LastJob(); } 您可以使用async和wait关键字 Coy可以使用ContinueWith方法,如下所示: public void DoSo

我有一些方法需要运行,其中一个应该作为不同的线程运行,因此我使用Task.RunwithLambda,尽管我希望下一个方法在任务完成后立即启动

例如,我希望
LastJob()
将在
MoreWork()
完成后启动:

public void DoSomeWork()
{
    Task.Run(() => MoreWork());
    LastJob();
}

您可以使用
async
wait
关键字


Coy可以使用
ContinueWith
方法,如下所示:

public void DoSomeWork()
{
    var task = Task.Run(() => MoreWork());
    task.ContinueWith(() => LastJob()) ;
}

您可以通过
任务
方法阅读
ContinueWith
,或者更好-关键字
async
wait
。出色的视频使用
异步任务
,而不是
无效
。没问题。空有什么问题?它将等待anyway@Sag1v,异常处理
async void
基本上包含所有异常。问题是如何等待:)jasnet在我发布的链接中,您可以看到任务示例和更多。。。
public void DoSomeWork()
{
    var task = Task.Run(() => MoreWork());
    task.ContinueWith(() => LastJob()) ;
}