5

文档不清楚System.Net.WebSockets.ClientWebSocket该类的线程安全性。

多线程同时调用SendAsync方法安全吗?</p>

4

1 回答 1

2

它是线程安全的,足以完成一些工作。

根据消息来源(感谢 Michael Kropat 在https://www.codetinkerer.com/2018/06/05/aspnet-core-websockets.html上讨论它)

线程安全:

  • 可以并行调用 ReceiveAsync 和 SendAsync。每一个都可以同时运行。
  • 在调用 CloseOutputAsync 或 CloseAsync 时有挂起的 ReceiveAsync 是可以接受的。
  • 尝试并行调用任何其他操作可能会损坏实例。尝试在另一个正在进行时调用发送操作或在另一个正在进行时调用接收操作将导致异常。
于 2020-01-06T22:38:22.323 回答