如果套接字读取超时(连接未关闭)并且稍后os接收到数据,则Java库如何处理数据?
例如,两个tcp连接/套接字在连接池中。一个线程读取超时并返回(将连接释放到连接池),然后另一个线程使用相同的连接。那么另一个主题可能会接收到第一个线程的响应数据。我认为这是不对的。当两个线程依次使用同一连接时,java lib(例如.httpclint)如何阻止另一个线程接收前一个线程的请求的响应数据?
谢谢!
答案 0 :(得分:-1)
这取决于您在此处接收的数据类型。如果严格基于哪个线程将处理接收到的数据,则需要确保使用某种GUID和线程ID组合来标识数据,以便发送方和接收方知道消息已被使用或丢失。理想情况下,除非逻辑是特定于操作系统层的,否则您的逻辑不应依赖于底层线程。