suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

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

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

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

请大家给给建议. 谢谢.

PHP中文网PHP中文网2888 Tage vor387

Antworte allen(2)Ich werde antworten

  • 黄舟

    黄舟2017-04-17 17:49:10

    1. 硬件设备将采集的数据上传到一台cache server

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

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

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

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:49:10

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

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

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

    Antwort
    0
  • StornierenAntwort