足以保证线程安全,从而完成一些工作。
根据源代码(感谢Michael Kropat在https://www.codetinkerer.com/2018/06/05/aspnet-core-websockets.html上进行的讨论)
线程安全性:
- 在并行中调用ReceiveAsync和SendAsync是可接受的。每个操作都可以同时运行。
- 在调用CloseOutputAsync或CloseAsync时有一个未完成的ReceiveAsync是可接受的。
- 尝试同时调用其他任何操作可能会损坏实例。在进行发送操作时尝试调用另一个正在进行的发送操作或在进行接收操作时尝试调用另一个正在进行的接收操作将导致异常。