This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I don't understand why the last three thread are not using the String object as a shared lock like the first three threads. Even though they last three threads are using a different instance of 'RunnableThread', shouldnt they be synchronised because there is only once copy for 'str' in the string constant pool?