二十五、JAVA多线程笔记:Two-phase Termination模式

我们将线程的正常处理状态称为“作业中”,当希望结束这个线程时,则送出“终止请求”。接着,这个线程并不会立刻结束,而是进入“终止处理中”状态,此时线程还是运行着的,可能处理一些释放资源等操作。直到终止处理完毕,才会真正结束。

Two-phase Termination主要考虑以下问题:

  • 安全地结束(安全性);
  • 一定会进行终止处理(生命性);
  • 收到“终止请求”后,要尽快进行终止处理(响应性);
  •  

线程停止:Two-phase Termination

优化前:

优化后:

进程停止:Two-phase Termination

钩子

Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
            @Override
            public void run()
            {
                System.out.println("Execute Hook.....");
            }
        }));

猜你喜欢

转载自blog.csdn.net/zhanglong_4444/article/details/86488763