C# · 12月 29, 2021

c# – 异步写入套接字线程安全吗?

考虑Socket.BeginSend()方法.如果两个线程池线程同时调用此方法,它们各自的消息是否相互混合,或者套接字类是否保持不发生?解决方法 我发现一个熟悉的 post on the MSDN forum似乎回答了你的问题. You can queue multiple BeginSends at the same time. You don’t need to lock

编辑:

更有趣的信息:

如果您在Remark section of the MSDN doc BeginSend()中向下滚动一下,您将发现有趣的使用可能与您相关的回调方法.

[…] If you want the original thread to block after you call the BeginSend method,use the WaitHandle.WaitOne method. […]