mulle-thread is a set of C wrapper headers for a simplified subset of thread functions and for a limited range of atomic operations that strongly mimics the thread standard, even if thread is not available. On Windows it has to do a bit more work.
mulle-threads main advantages are simplicity, portability, sanity.
- basic atomic operations CAS, ++, -- on void pointers.
- basic thread operations
- mutex functionality
- thread local storage, with proper destruction
Since thread has
<threads.h>, eventually this project
could become superflous. In the meantime though it's a convenient abstraction
on threads and atomic operations.
|Build Status||Release Version|
Install the prerequisites first:
Then build and install
mkdir build 2> /dev/null ( cd build ; cmake .. ; make install )
Or let mulle-sde build it for you with
- OS X
thread support in clang as of v3.8 is lacking, as there is no
<threads.h>. The fallback is pthreads.
<stdatomic.h> is not available for your architecture, then mulle-thread
is limited to:
That is because of mintomic limitations. mintomic
is the original source for the provided atomic operations. Unfortunately it's not
really active anymore, so for example ARM64 doesn't work. mulle-thread will
use mintomic only, if
<stdatomic.h> is not available.