java main thread wait for ctrl c

在 Java 中,可以使用 Runtime.getRuntime().addShutdownHook() 方法来让主线程等待用户按下 Ctrl + C 信号来终止程序的运行。

具体来说,可以在主线程的 main 方法中添加如下代码:

Runtime.getRuntime().addShutdownHook(new Thread() {
    @Override
    public void run() {
        // 在这里写下你想要在程序结束前执行的代码
// 主线程执行代码
while (true) {
    // 在这里写下你想要执行的代码

这段代码中,我们首先使用 Runtime.getRuntime().addShutdownHook() 方法添加一个钩子函数,这个函数会在程序接收到 Ctrl + C 信号后执行。在钩子函数中,我们可以编写一些在程序结束前需要执行的代码。

在主线程中,我们使用一个 while 循环来模拟程序一直在运行。这个循环会一直执行,直到程序接收到 Ctrl + C 信号并终止运行。

需要注意的是,当程序接收到 Ctrl + C 信号时,钩子函数中的代码只有一定的时间来执行。如果钩子函数中的代码执行时间过长,可能会被强制终止。因此,应该尽量让钩子函数中的代码尽量简短,以免出现意外情况。

希望这些信息对您有所帮助。

  •