2010-12-13 03:15:31 +01: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
|
2010-05-28 02:37:13 +02:00
|
|
|
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
|
2010-12-13 03:15:31 +01:00
|
|
|
thread_pool.h
|
|
|
|
spinlock.h
|
2010-12-13 06:21:08 +01:00
|
|
|
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.
|