0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
mongodb/util/concurrency
2010-06-02 17:15:31 -04:00
..
list.h MutexDebugger 2010-05-26 00:46:49 -04:00
locks.h dont debug shared locks 2010-06-02 16:50:05 -04:00
msg.h cleaning; make mutex have its own header file 2010-05-25 20:39:57 -04:00
mutex.h mutexdebugger 2010-06-02 17:15:31 -04:00
mvar.h move mvar and thread_pool to util/concurrency 2010-05-26 13:35:28 -04:00
readme.txt ne wfile 2010-05-27 20:37:13 -04:00
spin_lock.cpp Build fix (Win 64bit) 2010-06-02 14:25:02 -04:00
spin_lock.h Support for cumulative stats for mongod 2010-06-02 13:43:18 -04:00
task.cpp cleaning; make mutex have its own header file 2010-05-25 20:39:57 -04:00
task.h comments 2010-05-20 10:21:33 -04:00
thread_pool.cpp move mvar and thread_pool to util/concurrency 2010-05-26 13:35:28 -04:00
thread_pool.h move mvar and thread_pool to util/concurrency 2010-05-26 13:35:28 -04:00
value.h rs 2010-05-24 11:16:37 -04:00
vars.cpp mutexdebugger 2010-06-02 17:15:31 -04:00

util/concurrency/ files

list.h - a list class that is lock-free for reads
locks.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
thread_pool.h 
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