Подтвердить что ты не робот

Безопасен ли DatagramSocket.send?

Я планирую использовать экземпляр DatagramSocket и вызывать его метод send из разных потоков... для отправки UDP-пакетов другим клиентам. Является ли метод потоком безопасным, то есть вызов этого метода из разных потоков не приведет к возникновению каких-либо проблем/несогласованности/состояния гонки?

Спасибо!

4b9b3361

Ответ 1

UDP гарантирует, что дейтаграммы будут возвращены (если вообще). Другими словами, не может быть чередования, даже если в отправителе многопоточность. Это все, что вам нужно. На самом деле вам не нужна безопасность потоков. Однако системный вызов C send() является потокобезопасным, как и все системные вызовы, поскольку они являются атомарными.