This code defines a thread safe singleton class structure. What is a singleton you ask? A singleton is a class that only ever has one instance and provides a global way of accessing it. This sample ensure only one instance of the classs in invoked even on multithreaded, multi-cpu systems.
Terms of Agreement:
By using this article, you agree to the following terms...
You may use
this article in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
You MAY NOT redistribute this article (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.
You may link to this article from another website, but ONLY if it is not wrapped in a frame.
You will abide by any additional copyright restrictions which the author may have placed in the article or article's description.
>public sealed class Singleton
{
// Private Fields
private static Singleton instance;
private static object synclock = new object();
// Empty Constructor, forces the usage of the static Method.
private Singleton() {}
// Method to create a new instance of singleton object.
public static Singleton Instance
{
get
{
if( instance == null )
{
// lock to make sure only one thread can access this code block
lock (syncRoot)
{
if( instance == null )
{
instance = new Singleton();
}
}
}
return instance;
}
}
}
Report Bad Submission
Your Vote
Other User Comments
6/13/2004 10:53:58 PM:
none (If this comment was disrespectful, please report it.)
Can we not do better formatting this type of entry? Cannot even read it. Is this PSC or the submitter? What do submitters need to do? (If this comment was disrespectful, please report it.)
can u please give the source file with a good example (If this comment was disrespectful, please report it.)
Add Your Feedback
Your feedback will be posted below and an email sent to
the author. Please remember that the author was kind enough to
share this with you, so any criticisms must be stated politely, or they
will be deleted. (For feedback not related to this particular article, please
click here instead.)