【发布时间】:2014-11-11 11:01:48
【问题描述】:
我目前正在学习来自 java 背景的 C#。为了让我的脚湿透,我决定制作一个简单的 SMTP 邮件应用程序。而且我很快了解到 C# 提供了对同步和异步套接字的支持。
据我所见,使用同步套接字与异步套接字并没有真正的优势,因为后者不会阻塞,因此不需要您每次都创建一个新线程。使用其中一个似乎也没有明显的开销。
所以我的问题是,使用同步套接字有什么好处,还是在大多数情况下坚持异步更好?
【问题讨论】:
-
这一切都取决于具体情况,我会说在 99% 的情况下,您会使用异步,而在罕见的 1% 同步情况下,您希望确保确定发送电子邮件,并且代码块完成并在此之后继续执行程序。此外,如果您为此浇注创建自己的线程,您还将使用同步。
-
我认为是这样。但我也认为你也可以用异步做同样的事情。还是我错了?
-
@MuhammadHijazi 你可以,你是对的。从功能上讲,使用异步或同步套接字没有区别。
-
好的,完美!谢谢!
标签: c# sockets asynchronous synchronous