Java中如何安全地进行线程间通信?

业务是这样的:
有一个硬件设备, 会不停地向服务器通过socket上传数据, 同时, 这个数据需要实时地传递给APP端用作显示.

socket服务器监听到一个新的socket时, 会新建一个socket进行处理.

但是现在不知道怎么把数据给app了.

请大家给给建议. 谢谢.

阅读 3.3k
2 个回答
  1. 硬件设备将采集的数据上传到一台cache server

  2. 建立一个Application Server处理app的请求,从当前的cache server拿数据

  3. 客户端app访问application server
    总体上是异步的没什么线程间通信, 此外只有各线程间相互独立才能真正的并行

如果需要线程间通信(等待notify) 基本相当于串行。
根据采集的数据量及是否需要保存采集的历史数据来决定cache server,application server的实现
麻烦补充下问题先。。。

那不是线程间通信了,而是不同的进程间通信了,而且还跨机器了应该。
你可以:

  1. app和server建立长连接,然后server push数据到app

  2. app定时向server查询数据
    还有很多方法,这还是依赖你的环境和业务需求,选择最适合的方式。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题