Вопрос: Если поток слишком долго ждал сообщения, что он должен делать?
Ответ: Хватит ждать!
Что вам, вероятно, следует сделать, это позвонить setSoTimeout(int)
на DatagramSocket
, чтобы установить тайм-аут перед вызовом receive(DatagramPacket)
.Это приведет к тому, что поток, ожидающий сообщения, получит SocketTimeoutException
, если он ожидает дольше, чем время ожидания.
Чтобы ответить на ваш фактический вопрос:
- Нет встроенного метода, который один метод может вызвать, чтобы узнать, как долго другой поток ожидает сообщения.
- Возможно создание отдельного хронометриста, но довольно тяжелый