在 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 信号时,钩子函数中的代码只有一定的时间来执行。如果钩子函数中的代码执行时间过长,可能会被强制终止。因此,应该尽量让钩子函数中的代码尽量简短,以免出现意外情况。
希望这些信息对您有所帮助。