title: Synchronizing on SimpleDateFormat vs. clone
body: <p>We know that the <strong>dateformat</strong> classes are not thread safe. I have a multi-threaded scenario where dateformats needs to be used. I can't really create a new instance in new thread as <strong>SimpledateFormat</strong> creation seems to be expensive(the constructor ends up calling "compile" which is costly). After some tests the only two options left for me are:</p>
  
  <ol>
  <li>External Synchronization -  I really dont want to do this</li>
  <li>Cloning in each thread - Don't know whether there are some catches?</li>
  </ol>
  
  <p>Any suggestions?</p>
  
  <p>If guys have faced this before, what direction did you take.</p>
  
  <p><strong>Note</strong>: a <a href="http://www.javakb.com/Uwe/Forum.aspx/java-programmer/3943/Synchronizing-on-SimpleDateFormat-vs-clone" rel="nofollow noreferrer">similar question</a> was asked before, but it was closed pointing to a apache package. I can't use new libraries for this.
  And I have also read this similar <a href="https://stackoverflow.com/questions/4107839/synchronizing-access-to-simpledateformat">question on SO</a></p>