Потоковая безопасность System.Net.WebSockets.ClientWebSocket

В документе неясно о безопасности потоков System.Net.WebSockets.ClientWebSocket учебный класс.

Безопасно ли называть SendAsync метод из нескольких потоков одновременно?

0 ответов

Он достаточно потокобезопасен, чтобы выполнять некоторую работу.

Согласно источнику (кредит Майклу Кропату за его обсуждение на https://www.codetinkerer.com/2018/06/05/aspnet-core-websockets.html)

Безопасность потоков:

  • Допускается параллельный вызов ReceiveAsync и SendAsync. Один из них может работать одновременно.
  • Допустимо иметь ожидающий ReceiveAsync, пока вызывается CloseOutputAsync или CloseAsync.
  • Попытка вызвать любые другие операции параллельно может привести к повреждению экземпляра. Попытка вызвать операцию отправки, пока другая выполняется, или операцию приема, пока другая выполняется, приведет к исключению.
Другие вопросы по тегам