blob: 1d72a1ce4ec55d34e3dc518025a1d847184d1b60 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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.
|