【发布时间】:2015-08-07 09:20:41
【问题描述】:
我正在用 Java 开发一个 无状态 代理,它从一个服务器获取信息并将其传输到另一个客户端。这意味着代理位于客户端和服务器之间。所以我想在代理上运行两个线程同时:一个线程 (thread1) 运行 serverSocket 并从客户端获取请求,而另一个线程 (thread2) 正在运行并与服务器进行通信。问题在于两个线程之间的同步。我正在考虑让线程 1 在整个时间线程 2 中询问新信息。如果线程 2 没有新内容,他将不会回答。什么是它们之间同步的最佳方式。我应该使用全局变量(标志)在它们之间进行同步吗?拥有无国籍代理时可以保存信息吗?
【问题讨论】:
-
这是一个非常宽泛的问题,但我建议您查看java.util.concurrent.Exchanger<V>,看看这是否能让您走上正轨,然后在遇到问题时提出更具体(且可回答)的问题。
-
更多的是关于概念。然后我会根据技术来决定如何实现它
标签: java multithreading synchronization agent