Lock-Free Programming Notes


In multi-threaded programming, it is common to use locking and blocking to provide coordinated use of shared resources. However, locking is very slow, and can lead to deadlocks if not used carefully. I have an interest in locl-free programming starting with a smart-pointer class that never blocks.


Just getting started... a rough outline:
The smart pointers
general techniques
   atomic counter
   speculative execution, detachment
   can use critical section primitive with "try enter"
   generally, instead of waiting do something else useful or have contingency plans
   doesn't have to be lock *free*, but can be useful to just minimize locking.
vararray, how it just uses the pointers
memory allocation - desire and notes
associative array