多线程 - Java中如何安全地进行线程间通信?
PHP中文网
PHP中文网 2017-04-17 17:47:10
[Java讨论组]

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

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

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

请大家给给建议. 谢谢.

PHP中文网
PHP中文网

认证0级讲师

全部回复(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查询数据
    还有很多方法,这还是依赖你的环境和业务需求,选择最适合的方式。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号