java使用 Runtime.getRuntime().addShutdownHook来接受关闭程序的信号,示例代码如下:
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class test {static final int MAX_T = 3;static ExecutorService pool = Executors.newFixedThreadPool(MAX_T);public static void main(String[] args) {pool.execute(() -> {System.out.println("new thread");});Runtime.getRuntime().addShutdownHook(new Thread() {public void run() {pool.shutdown();System.out.println("pool shutdown success.");System.out.println("Exited!");}});}}
如果使用lamdba 表达式,可以更简洁:
Runtime.getRuntime().addShutdownHook(new Thread(() -> {pool.shutdown();System.out.println("pool shutdown success.");System.out.println("Exited!");}));
如果觉得《Java 注册SIGINT信号 处理CTRL+C》对你有帮助,请点赞、收藏,并留下你的观点哦!