ホームページ  >  に質問  >  本文

线程 - java 进程通信问题

现在有这样一个场景。

有一个jar在多线程运行,每个线程里都有自己的局部变量累加器 long count;

现在我需要通过一个spring的web project获取每个线程的count值,并且通过highcharts绘制出图形

请问这个独立jar的各自线程中的count局部变量,如何能被spring拿到?

自己想到的几个方法:

1.NIO的管道通信,PipedInputStream、PipedOutputStream

2.Thrift RPC服务

3.netty的服务

有没有可行的解决方案?

伊谢尔伦伊谢尔伦2765日前388

全員に返信(2)返信します

  • 黄舟

    黄舟2017-04-18 10:35:14

    私の理解によると、プロセス間通信が必要ですよね?
    あなたが言及したThriftとNettyはどちらも受け入れられます
    または、各jarパッケージがプロデューサーとして機能し、カウントをメッセージとして送信することもできます。キューに追加すると、Spring Web プロジェクトがキューからカウント値を取得できるようになります。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:35:14

    必要ありません。
    からデータを直接取得します。 count使用map结构存放在redis中就ok了。hightcharts渲染时直接从redis構造は以下の通りです。
    リーリー

    返事
    0
  • キャンセル返事