【发布时间】:2014-02-26 07:27:45
【问题描述】:
我有一个场景,多个线程需要在一个套接字上与外部系统通信。每个线程的消息都可以通过唯一的 id 来标识。 在所有线程共享同一个套接字的这种情况下,我可以使用 blockQueues。由于线程可以产生请求和消耗响应,我可以让单例组件说“Socketer”,他持有套接字并有两个 BlockQueue(传入和传出)。传出队列上的任何消息都写入套接字,并且来自套接字的任何消息都发送到传入队列。 socketer 还维护所有生产者线程的哈希表,当它读取响应时,它会识别相应的生产者并将响应交给它。s
请建议这是否是一种正确的设计方法或提出改进建议。我的线程实际上是 WebServices,我在 Spring 环境中。
谢谢
【问题讨论】:
标签: java multithreading spring sockets