Double checked locking
In most cases for a singleton, the value is set after the first few calls (very often in the first call), so performing a lock on every subsequent call is unneccessary. This can be handled with an extra if statement and if it does need to be set, then go into a lock statement and restest inside the lock statement.
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Collapse
You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:
- You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
- You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
- If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.
Logging in...
Previously on "interview Question regarding less expensive type of locking in C#"
Collapse
-
Offtopic, but very interesting new stuff in Intel's Haswell - hopefully C# and other languages include support very quickly -
AnandTech - Making Sense of the Intel Haswell Transactional Synchronization eXtensions
Leave a comment:
-
Re: interview Question regarding less expensive type of locking in C#
I don't know how you do it in C# specifically, but what you want is some kind of atomic test and set. With a singelton, only the first call actually has to do anything, every other call just returns a static variable, so a lock is an unnecessary overhead.
Though what might be better is to initial
ise your singeltons at startup.
Leave a comment:
-
interview Question regarding less expensive type of locking in C#
I got a recent interview Question regarding less expensive type of locking in C#, I described a singleton and they asked my about threading issues, I stated that because the singleton had a single static instance I would have to use lock(someref) for the get property which returns it singleton instance. They then told me that doing a lock on every get would be expensive so what would be a cheaper alternative to locking on the get instance property for the singleton class.]
Anyone know ?Tags: None
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers
Contractor Services
CUK News
- Why contractors keep putting off their pension (and why I'm one of them) Aug 4 02:43
- HMRC loan charge settlement offer: 3 things to check before you sign Today 07:41
- HMRC standstill agreements extended to 72 months: why the term's doubled, and what to check before signing Jul 31 05:53
- Who owns the loans? Inside the mystery of the loan charge recall scandal Jul 30 06:20
- Umbrella company winding-up petitions in 2026: the practical guide for contractors Jul 29 05:29
- Payments on Account deadline: what contractors must do before July 31st — maybe for the final few times Jul 28 08:01
- Andy Burnham's first 100 days: five things contractors need from the new PM Jul 27 00:53
- Starmer vs Burnham on housing: What their rival plans mean for your contractor mortgage Jul 22 00:59
- Burnham's housing vision vs. Starmer's home-buying reforms: what it means for your contractor mortgage Jul 22 00:59
- In Khalil v Innovate Transport, a limited company contractor wasn’t a worker and was on £2.30 — not £230 Jul 21 07:58

Leave a comment: