gpt4 book ai didi

java - 从正在运行的进程外部更改 Java 变量的值

转载 作者:行者123 更新时间:2023-11-30 09:40:34 27 4
gpt4 key购买 nike

我有一个 Java 程序执行一些大型分析任务,在一个线程中运行一个循环(基本上是 24/7)并访问许多其他线程以进行并行处理。我目前正在配置其他 Activity 线程的数量以使用常量发送任务。白天,我喜欢将其设置为较小的值(例如 4),以便为我的交互式使用保留一些机器资源。一夜之间(或其他时候我让我的机器无人看管)我希望程序使用更多的线程(比如 8 个)。目前我正在暂停程序,更改常量,重建并重新启动程序(我必须重新启动所有 8 个线程)。定期执行此操作变得乏味。

我想建立一个简单的系统来从 Java 外部键入单个命令/脚本来更改程序的行为,以便它可以保持运行但根据我的输入改变空闲线程的数量。我已经在 SO 中搜索了答案,并且知道这对于环境变量显然是不可能的。我可以想到两种可能性:在文本文件中设置一个值并在循环的每个循环中读取它;并将值存储在我的程序与之交互的 MySQL 数据库中。

虽然这些解决方案对我有用,但我很想知道是否有任何其他(更标准?)方法可以从正在运行的进程外部访问 Java“配置变量”。

如果相关,我将在 Eclipse 中运行流程。

编辑:刚想到另一种可能性:USR1 和 USR2 信号...

最佳答案

您可以添加一个额外的线程,该线程始终等待特定端口上的连接,并编写一个简单的程序向该端口上的程序发送消息(可能只是从本地主机)。收到此消息后,程序可以更改它想要的任何设置。

关于java - 从正在运行的进程外部更改 Java 变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9339027/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com