Thread-safe Singleton (Best Practice)?
Short answer: public sealed class Singleton { private static readonly object lockObj = new object(); private static Singleton instance; private Singleton() { } public static Singleton Instance { get { if (instance == null) { lock (lockObj) { if (instance == null) instance = new Singleton(); } } return instance; } } }
Example code
public sealed class Singleton
{
private static readonly object lockObj = new object();
private static Singleton instance;
private Singleton() { }
public static Singleton Instance
{ get {
if (instance == null)
{ lock (lockObj) {
if (instance == null)
instance = new Singleton();
}
}
return instance;
}
}
}
Real-world example (ShopNest)
In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png