UDP и потоки - Java - PullRequest
0 голосов
/ 11 мая 2018

Я использую UDP для связи через потоки, но я хочу создать некоторую переменную, чтобы узнать, ожидал ли поток, ожидающий сообщения, слишком долго.

Есть ли какой-нибудь метод, унаследованный классом UDP, который я мог бы использовать? Или лучше сделать так, чтобы мой хронометрист работал параллельно с каждым потоком, чтобы сохранить время?

1 Ответ

0 голосов
/ 11 мая 2018

Вопрос: Если поток слишком долго ждал сообщения, что он должен делать?

Ответ: Хватит ждать!

Что вам, вероятно, следует сделать, это позвонить setSoTimeout(int) на DatagramSocket, чтобы установить тайм-аут перед вызовом receive(DatagramPacket).Это приведет к тому, что поток, ожидающий сообщения, получит SocketTimeoutException, если он ожидает дольше, чем время ожидания.


Чтобы ответить на ваш фактический вопрос:

  • Нет встроенного метода, который один метод может вызвать, чтобы узнать, как долго другой поток ожидает сообщения.
  • Возможно создание отдельного хронометриста, но довольно тяжелый
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...