|
OpenImageIO
|
Wrappers and utilities for multithreading. More...
#include "version.h"#include "sysutil.h"#include <boost/version.hpp>#include <boost/thread.hpp>#include <boost/thread/tss.hpp>Go to the source code of this file.
Classes | |
| class | null_lock< T > |
| class | null_thread_specific_ptr< T > |
| class | atomic_backoff |
| class | atomic< T > |
| class | spin_mutex |
| class | spin_mutex::lock_guard |
| class | spin_rw_mutex |
| class | spin_rw_mutex::read_lock_guard |
| class | spin_rw_mutex::write_lock_guard |
Macros | |
| #define | USE_TBB 0 |
| #define | USE_TBB_ATOMIC 0 |
| #define | USE_TBB_SPINLOCK 0 |
Typedefs | |
| typedef boost::mutex | mutex |
| typedef boost::recursive_mutex | recursive_mutex |
|
typedef boost::lock_guard < boost::mutex > | lock_guard |
|
typedef boost::lock_guard < boost::recursive_mutex > | recursive_lock_guard |
| typedef atomic< int > | atomic_int |
| typedef atomic< long long > | atomic_ll |
| typedef spin_mutex::lock_guard | spin_lock |
|
typedef spin_rw_mutex::read_lock_guard | spin_rw_read_lock |
|
typedef spin_rw_mutex::write_lock_guard | spin_rw_write_lock |
Functions | |
| int | atomic_exchange_and_add (volatile int *at, int x) |
| long long | atomic_exchange_and_add (volatile long long *at, long long x) |
| bool | atomic_compare_and_exchange (volatile int *at, int compareval, int newval) |
| bool | atomic_compare_and_exchange (volatile long long *at, long long compareval, long long newval) |
| void | yield () |
| void | pause (int delay) |
Variables | |
| OIIO_NAMESPACE_ENTER | |
Wrappers and utilities for multithreading.
|
inline |
Atomic version of: if (*at == compareval) { *at = newval; return true; } else { return false;
|
inline |
Atomic version of: r = *at, *at += x, return r For each of several architectures.
|
inline |
Yield the processor for the rest of the timeslice.
| OIIO_NAMESPACE_ENTER |
1.8.2