【问题标题】:Creating a background process in java在java中创建一个后台进程
【发布时间】:2023-10-25 19:58:01
【问题描述】:

我想创建一个后台进程,该进程将在后台 24*7 运行,并具有唯一的名称/标识符,以便我可以引用该进程并在我喜欢的时候终止它。该过程将执行一些任务以及锁定文件数据库。 我可以得到一些关于如何实现这一点的想法/代码吗?

【问题讨论】:

    标签: java process processbuilder


    【解决方案1】:

    如果你使用时间轴,你可以像这样实现它,这将在它自己的线程中每秒触发一个事件

    Timeline updater;
    Thread thread = new Thread(()->{
        updater = new Timeline(new KeyFrame(Duration.seconds(1),(event -> checkLocked())));
        updater.setCycleCount(INDEFINITE);
        updater.play();
    });
    thread.start();
    

    您也可以使用命令停止它运行

    updater.stop();
    

    【讨论】:

    • 但我希望它是一个连续的过程,也希望从其他 java 代码访问对象
    • 连续是什么意思,你可以改变事件触发的时间
    • 我想你可以把它放在一个while循环中
    • 当它的父进程停止时这个线程会存活吗?我想不是。以及如何从任何其他 java 代码/线程中引用此时间线
    • 我没有把它放在任何父进程中
    最近更新 更多