Source: https://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Java/O%27Reilly%20Java%20Threads%20%282nd%20Edition%29.pdf