0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
mongodb/util/concurrency
Eliot Horowitz 5a49494a9c fix warning
2010-11-19 11:24:21 -05:00
..
list.h
msg.h SERVER-1804 tighter background job 2010-10-13 17:38:09 -04:00
mutex.h fix warning 2010-11-19 11:24:21 -05:00
mvar.h
readme.txt
rwlock.h cleaning 2010-11-12 20:35:36 -05:00
spin_lock.cpp delet ecritical seciotn 2010-08-26 23:51:03 -04:00
spin_lock.h delet ecritical seciotn 2010-08-26 23:51:03 -04:00
synchronization.cpp add tool to debugging belt 2010-08-19 11:26:07 -04:00
synchronization.h add tool to debugging belt 2010-08-19 11:26:07 -04:00
task.cpp SERVER-1804 tighter background job 2010-10-13 17:38:09 -04:00
task.h SERVER-1804 tighter background job 2010-10-13 17:38:09 -04:00
thread_pool.cpp
thread_pool.h missing pragma onces 2010-11-05 22:50:04 -04:00
value.h
vars.cpp mutexdebugger fix 2010-08-11 16:48:54 -04:00

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
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