- http://en.wikipedia.org/wiki/Synchronization_(computer_science)
- Lock – advisory or mandatory; protects a region of code; often require atomic operation to support the acquisition of lock (otherwise there will be race condition, since it requires testing of lock being free)
- Barrier – in threads, a barrier will ensure a collection of threads reaches the same point before proceeding – useful for parallel computing
- Semaphore
- Mutex
- Monitor – objects that can only be used by one thread at a time (similar to linear object)
- Monitor in JVM (synchronized)
- Synchronization primitives
- Futex (fast user-space mutex) – a Linux mutex
- Implementing synchronization primitives for Boost on Windows
- Implementation model for ThreadMon – talks about the different threading models
- Implementing a thread-safe queue using condition variables
- http://stackoverflow.com/questions/4230026/simple-canonical-implementations-of-synchronization-primitives
- http://stackoverflow.com/questions/3812405/lightest-synchronization-primitive-for-worker-thread-queue


