Как Java-библиотека работает с полученными данными, когда время ожидания чтения сокета? - PullRequest
0 голосов
/ 25 февраля 2019

Если сокет считывает тайм-аут (соединение не закрыто), а затем ОС получает данные, как java lib работает с этими данными?

Например. Два соединения / сокета tcp находятся в пуле соединений.Один поток считывает тайм-аут и возврат (освобождает соединение с пулом соединений), а затем другой использует то же соединение;тогда другой thead может получить данные ответа первого потока.Я думаю, что это не правильно.Как java lib (например, .httpclint) предотвращает получение другим потоком данных ответа на запрос предыдущего потока, когда два потока используют одно и то же соединение по очереди?

Thx!

1 Ответ

0 голосов
/ 25 февраля 2019

Это зависит от того, какие данные вы получаете здесь.Если он строго основан на том, какой поток будет обрабатывать полученные данные, то вам необходимо убедиться, что данные идентифицированы с использованием некоторой комбинации GUID и идентификатора потока, чтобы отправитель и получатель знали, что сообщение было использовано или потеряно.В идеале не должно быть ситуации, когда ваша логика зависит от базовых потоков, если только эта логика не зависит от уровня ОС.

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