3 ms·
The particularly pernicious thing about this flaw in the most common implementation of double checked locking is that it seems like such a simple optimization t
by dschobel 16y ago
The particularly pernicious thing about this flaw in the most common implementation of double checked locking is that it seems like such a simple optimization to one of the most common programming patterns, the singleton.
The singleton is something which the majority of programmers understand vs realizing that the runtime can optimize reads and writes to memory by doing things which make sense in the context of one thread but break in multiple is something I'd only expect the top 10% (and that may be generous) of programmers to understand.
So having the complex part be an intuitive (but wrong) optimization to the easy bit is just a deadly combination.