java - 在线程之间传递信息的最佳方式是什么?

标签 java multithreading sockets

我想在我的程序做其他事情时监听服务器,当从服务器接收到一条消息时,我想解释它。

我知道线程,但不确定它是如何工作的。如果我有一个线程监听服务器,我如何将该数据传递给主线程进行解释?主线程向服务器发送数据的最佳方式是什么?同步修饰符有什么用?

最佳答案

If I have a thread listening for the server how can I pass that data to the main thread for interpretation? What is the best way for the main thread to send data to the server?

我会使用 BlockingQueue为了这。您定义单个 BlockingQueue 例如 LinkedBlockingQueue .然后你的监听器类调用 queue.take() 等待你的服务器调用 queue.put()。它将所有同步、等待、通知等工作留给 Java 类,而不是您自己的代码。

What is the use of the synchronized modifier?

我会做一些阅读以了解更多关于这一点的信息。这不是可以用简短的 SO 响应来回答的事情。 Java concurrency tutorial是一个很好的起点。

关于java - 在线程之间传递信息的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14148422/

相关文章:

java - 我如何检测到 Horizo​​ntalScrollView 在 Android 中已经结束?

java - 在 Tomcat 服务器上部署 .war 文件后 Birt 图表未显示在 Web 应用程序上

java - Java 中的条件如何知道要触发哪个线程?

java - 添加 url 样式路径映射到服务器/客户端套接字连接

c# - SilverLight 套接字问题

python - 多个套接字会导致所有套接字停止工作

java - Android 2.2 版本的 SSL 握手失败

python - 当脚本仍在运行时终止守护线程

java - 平滑 Android 游戏循环

Java + Google Web Toolkit(谷歌应用引擎)从服务器下载文件