如何等待一种方法来完成使用C#?等待方法完成
等待方法完成
回答
除非您使用多个线程,否则执行将不会继续在调用代码的中,直到方法完成。
如果你是使用多线程,它真的取决于你如何启动任务。例如,您可以使用异步委托执行(foo.BeginInvoke(...)
)或任务并行库,或者简单地创建一个新线程。每种方法都有自己的等待,直到任务/线程完成。请给我们更多的信息,我们可以帮你多,但选择可以包括:
- delegate上
EndInvoke
,传递由BeginInvoke
- 调用
Task.Wait
(任选超时)返回IAsyncResult
- 调用
Thread.Join
(任选超时)
+1一个明智的答案,乔恩Skeet不喷出任何废话。 – mdm 2011-03-14 10:01:56
+1当然.. @mdm这就是为什么我们有[Jon Skeet](http://blog.stackoverflow.com/2008/11/stack-overflow-is-you)在这里 – 2011-03-14 10:10:23
为实际提供选项的情况下+1多线程代码。 – 2011-03-14 10:10:29
我以为你是问如何等待另一个苏氨酸执行代码在你的主线程中。为此目的,Thread.Join()方法将做你想要的。
(一个很好的教程就如何做到Multithreading。)
我知道你在几个月前发布了,但是这个教程的链接只是挽救了我的生活。我无法感谢您分享该链接。 – JClaspill 2011-10-28 16:14:45
@JClaspill我很高兴它帮助你:) – 2011-10-28 17:48:07
- 1. 活动完成方法等待完成?
- 2. 无效扩展等待方法完成
- 3. 等待完成异步方法
- 4. 等待类方法完成C#
- 5. 等待异步方法完成
- 6. 等待Xcode的方法来完成
- 7. 等待异步方法完成
- 8. JUnit - 不等待测试方法完成
- 9. 等待完成
- 10. 等待完成
- 11. 等待外部方法完成之前完成?
- 12. 等待$ .post完成
- 13. 等待NSURLSessionTask完成
- 14. jquery,等待完成
- 15. 等待webrequest完成
- 16. delayed_job等待完成
- 17. QNetworkReply等待完成
- 18. 等待AsyncTask完成
- 19. 等待webworker完成
- 20. 流星方法调用 - 等待方法完成
- 21. 另一个方法内部完成方法等待
- 22. 等待.forEach()完成的最佳方式
- 23. nunit如何成功等待异步void方法完成?
- 24. 等待完成处理程序完成
- 25. cocos2d iphone等待动作完成/完成
- 26. jQuery完成后不等待它完成
- 27. JQUERY - 等待window.location.href来完成
- 28. 等待click事件完成
- 29. 等待$ http.get调用完成
- 30. jQuery.when不等待完成
你能解释一下好一点你想实现什么,请? – FarligOpptreden 2011-03-14 09:58:41
如果您的应用程序不是多线程的,并且您调用的方法不是异步,则在方法返回后将调用下一段代码。我们在这里需要更多的信息来处理,你使用线程还是'Begin ..()'方法? – Kevin 2011-03-14 10:01:30
我们必须假设您正在讨论异步方法调用吗? – 2011-03-14 10:02:16