September 2019
Intermediate to advanced
816 pages
18h 47m
English
A thread that successfully finishes its job or is abnormally interrupted is in the TERMINATE state. This is very simple to simulate, as in the following snippet of code (the main thread of the application prints the state of the thread, t—when this is happening, the thread, t, has done its job):
public class TerminatedThread { public void terminatedThread() { Thread t = new Thread(() -> {}); t.start(); Thread.sleep(1000); System.out.println("TerminatedThread t: " + t.getState()); // TERMINATED }}TerminatedThread tt = new TerminatedThread();tt.terminatedThread();
In order to write thread-safe classes, we can consider the following techniques: