等待方法完成
我如何等待方法完成使用C#?
除非您使用多个线程,否则在方法完成之前,执行将不会在调用代码中继续执行。
如果您使用多个线程,那实际上取决于您启动任务的方式。 例如,您可以使用异步委托执行( foo.BeginInvoke(...)
)或任务并行库,或者只是创建一个新线程。 每种方法都有自己的等待方式,直到任务/线程完成。 请提供更多信息,我们可以为您提供更多帮助,但选项可能包括:
- 在委托上调用
EndInvoke
,传入BeginInvoke
返回的IAsyncResult
- 调用
Task.Wait
(可选择超时) - 调用
Thread.Join
(可选择超时)
- 调用方法。
- 等待它完成。
注意 :仅适用于阻止呼叫。
我假设您正在询问如何在主线程中的另一个线程上等待代码执行。 为此, Thread.Join()方法将执行您想要的操作。
(关于如何进行multithreading的一个很好的教程。)