0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-30 00:56:44 +01:00
mongodb/util/concurrency
2011-01-08 15:01:04 -05:00
..
list.h
msg.h
mutex.h
mvar.h
race.h
README
rwlock.h
shared_mutex_win.hpp
spin_lock.cpp
spin_lock.h
synchronization.cpp
synchronization.h
task.cpp
task.h
thread_pool.cpp
thread_pool.h
value.h
vars.cpp

util/concurrency/ files

list.h - a list class that is lock-free for reads
rwlock.h - read/write locks (RWLock)
msg.h - message passing between threads
task.h - an abstraction around threads
mutex.h - small enhancements that wrap boost::mutex
mvar.h
 This is based on haskell's MVar synchronization primitive:
 http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.2.0.0/Control-Concurrent-MVar.html
 It is a thread-safe queue that can hold at most one object.
 You can also think of it as a box that can be either full or empty.
value.h
 Atomic wrapper for values/objects that are copy constructable / assignable
thread_pool.h 
spinlock.h
synchronization.h 
 A class to establish a sinchronization point between two threads. One thread is the waiter and one 
 is the notifier. After the notification event, both proceed normally.