devxlogo

Threading and SimpleDateFormat

Threading and SimpleDateFormat

Question:
Is SimpleDateFormat threadsafe? I am trying totrack down a bug where a date formatted “yyyy-MM-dd” actually came outas 2000-06-0001. I have four threads accessing the format method ofmy date formatter class at approximately the same time.

Answer:
SimpleDateFormat is not threadsafe. The general rule to follow isthat if the API documentation does not state that a class or method isthreadsafe, then you must assume it isn’t. Whenever you shareresources between threads, you should protect those resources withsynchronized blocks if you are unsure as to whether or not theyalready protect themselves. When it comes to the core APIs, youcan always look at the Java source code that comes with the JDK toverify. However, just because the source is thread safe does notmean that the class is required to be thread safe. Unfortunately,the Java Platform specification process is not so rigorous as to tellyou how each and every standard class is supposed to behave, forcing youto rely on the javadocs as an ill-substitute for a more formalspecification.

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist