如何等待方法完成C#?
答案 0 :(得分:51)
除非您使用多个线程,否则在方法完成之前,调用代码中的执行将不会继续执行。
如果 使用多个线程,则实际上取决于您启动任务的方式。例如,您可以使用异步委托执行(foo.BeginInvoke(...)
)或任务并行库,或者只是创建新线程。每种方法都有自己的等待方式,直到任务/线程完成。请提供更多信息,我们可以为您提供更多帮助,但选项可能包括:
EndInvoke
,传递IAsyncResult
BeginInvoke
Task.Wait
(可选择暂停)Thread.Join
(可选择暂停)答案 1 :(得分:10)
注意:仅适用于阻止来电。
答案 2 :(得分:7)
我假设您正在询问如何在主线程中的另一个线程上等待代码执行。为此,Thread.Join()方法可以做你想要的。
(关于如何做Multithreading的好教程。)