mirror of
https://github.com/mongodb/mongo.git
synced 2024-11-30 00:56:44 +01: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.