【发布时间】:2013-11-15 13:26:33
【问题描述】:
在another SO question 中,有人建议我发送异步网络请求,而不是在后台线程上发送同步请求。原因是为了不浪费一个线程。我正试图了解这是怎么回事。
这是最初的方法。我可以理解这里有两个线程。一个是主线程 (1),一个是进行 WCF 调用的后台线程 (Task.Run) (2):
这是我对建议方法的草图。我试图了解如何保存线程。在异步 WCF 调用之后,不会为异步 WCF 调用的回调创建另一个线程吗?
再想一想,如果不需要回调处理,也许只使用一个线程?
【问题讨论】:
-
你在写什么样的客户端应用?
-
@JonSkeet 这是一个 WPF 客户端。
-
在异步网络调用中,没有线程正在运行进行调用。 (您的 UI 线程保持运行,照常处理 UI 消息)
标签: c# wpf wcf asynchronous async-await