Java多线程设计模式(6)两阶段终止模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
public class WorkerTerminalThread extends Thread
{ //
已经送出终止请求为true,初始化的时候为false //由于该字段可能会被多个线程访问修改,为了保护就使用这个 private volatile boolean shutdownRequested
= false ; //
终止请求 public void shutdownRequest()
{ shutdownRequested
= true ; interrupt(); } public boolean isShutdownRequest()
{ return shutdownRequested; } //
具体动作 public final void run()
{ try { while (!shutdownRequested) doWork(); } catch (InterruptedException
e) { } //
终止处理中的工作,不会进行平常操作,但是会进行终止处理 finally { doShutdown(); } } //
具体工作操作 private void doWork() throws InterruptedException
{ } //
终止后进行善后处理 private void doShutdown() { } } |
如果你喜欢本文, 请长按二维码,关注公众号 分布式编程.
作者:分布式编程
出处:https://zthinker.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。