Each class comes with an invisible constructor. Here you are dealing with an issue of concurrency/synchronization of data. In other words, using a class constructor to ensure all data will be updated correctly. Concurrency and synchronization are not the same, and, therefore, should not be used in a constructor. Remember: you want consistent, reusable code. Constructures do not provide this when implementing a new thread, especially considering what either the client or server side of the code. The following describes two better ways to accomplish your goal:
http://www.tutorialspoint.com/java/lang/...