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() { } } |