  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Subject: Is Singleton thread safe? | Subject: Is Singleton thread safe? 2005-04-01 - By Dan Marchant
Back On Apr 1, 2005 7:55 AM, jon <jon@(protected)> wrote: > > Like any other object shared by many threads, it's only thread safe if you > synchronize. > > > On Fri, 1 Apr 2005 07:54:04 -0800, Julia Liu wrote > > > Hi, > > > > Is Singleton thread safe? Why? > > > > Thanks > > > > Julia Liu > > __ ____ ____ ____ ____ ____ ____ > Yahoo! Messenger > > Show us what our next emoticon should look like. Join the fun. > ==================================================================== > Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: > http://java.sun.com/blueprints/corej2eepatterns List > Archive: > http://archives.java.sun.com/archives/j2eepatterns-interest.html > Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to > listserv@(protected) > > > -- > Jonathan Petruk > J. Petruk Consulting Inc. > E-mail: jon@(protected) > phone: 905-668-9209 fax: 905-668-4728 > http://www.petruk.net/ > > > ==================================================================== > Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: > http://java.sun.com/blueprints/corej2eepatterns List > Archive: > http://archives.java.sun.com/archives/j2eepatterns-interest.html > Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to > listserv@(protected)
There is also an issue with double-checked locking when using singletons that could cause iissues depending on how you initialize your singleton. Here is more info on the double-check locking : http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
But also to Jonathan's point the singleton is only as thread safe as you make it. So this means using locks or synchronization statements where needed in your singleton.
Hope this helps.
- Dan
==================================================================== Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
|
|
 |