c#:是否有任何理由支持异步套接字调用而不是我自己的线程池中的同步调用?

发布于 2024-11-06 12:34:30 字数 118 浏览 5 评论 0原文

与调用 BeginGetResponse 相比,调用 BeginGetResponse 是否有任何性能优势? 在我自己的线程池中调用 GetResponse?自有泳池的优势 是我可以控制请求队列。

谢谢!

Is there any performance advantage in calling BeginGetResponse vs.
calling GetResponse in my own thread pool? The advantage of my own pool
is that I can control the queue of requests.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

檐上三寸雪 2024-11-13 12:34:30

当您调用 GetResponse 时,即使您在后台 ThreadPool 线程上调用它,该线程仍然会被阻塞,并且无法去做其他工作。这意味着上下文切换等。但是,如果您使用 BeginGetResponse,那么它将把工作卸载到网卡上,但是最重要的是,调用线程现在可以自由地执行一些其他工作。当网卡完成后,它会通知您的应用程序,此时回调将被调用。

When you call GetResponse, even if you call it on a background ThreadPool thread, THAT thread will still be blocked, and won't be able to go and do other work. That means context switching etc. If however you use the BeginGetResponse, then it offloads the work to the network card, however and most importantly, the calling thread is now free to go about and do some other work. When the network card is done, it'll notify your application, at which point the callback will get called.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文