线程 - java 进程通信问题

 手机用户2502877211 发布于 2022-10-25 07:39

现在有这样一个场景。

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

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

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

自己想到的几个方法:

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

2.Thrift RPC服务

3.netty的服务

有没有可行的解决方案?

2 个回答
  • 没必要。
    直接将count使用map结构存放在redis中就ok了。hightcharts渲染时直接从redis获取数据。
    结构如下。

    counter
        |
        | key1: v1`
        | key2: v2
    2022-10-26 14:27 回答
  • 按我的理解, 你是需要进程间通信吧?
    你说的 Thrift 和 Netty 都可以.
    或者也可以使用消息队列, 每个 jar 包都当做生产者, 向队列中提交 count 作为消息, 然后你的 Spring Web 工程就可以从队列中取出 count 的值.

    2022-10-26 14:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有