- C++11 - the new ISO C++ standard: http://www.stroustrup.com/C++11FAQ.html
- http://en.cppreference.com/w/cpp/thread/mutex
- http://www.cplusplus.com/reference/mutex/mutex/
- C++11 Concurrency Tutorial – Part 3: Advanced locking and condition variables: http://www.baptiste-wicht.com/2012/04/c11-concurrency-tutorial-advanced-locking-and-condition-variables/
- C++11 Concurrency Tutorial: 7. Mutex, Lock, and Monitor: http://bartoszmilewski.com/2011/10/24/c11-concurrency-tutorial-7-mutex-lock-and-monitor/
- http://www.justsoftwaresolutions.co.uk/files/c++11_concurrency.pdf
- Comparing the performance of atomic, spinlock and mutex: http://demin.ws/blog/english/2012/05/05/atomic-spinlock-mutex/
- Multithreading in C++0x part 4: Protecting Shared Data: http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-4-protecting-shared-data.html
- Multithreading in C++0x part 5: Flexible locking with std::unique_lock: http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-5-flexible-locking.html
- Multithreading in C++0x part 6: Lazy initialization and double-checked locking with atomics: http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-6-double-checked-locking.html
- Multithreading in C++0x part 7: Locking multiple mutexes without deadlock: http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-7-locking-multiple-mutexes.html
- Recursive Lock (Mutex) vs Non-Recursive Lock (Mutex): http://stackoverflow.com/questions/187761/recursive-lock-mutex-vs-non-recursive-lock-mutex
- Handling mutexes in C++: http://home.roadrunner.com/~hinnant/mutexes/locking.html
- Enforcing Correct Mutex Usage with Synchronized Values: http://www.drdobbs.com/cpp/enforcing-correct-mutex-usage-with-synch/225200269