atomic add func [詳細]
#include <coil/Mutex.h>#include <coil/Guard.h>マクロ定義 | |
| #define | COIL_USES_ATOMIC_OP coil::Mutex __mutex; |
| #define | atomic_add(x, y) |
| #define | atomic_incr(x) |
| #define | atomic_decr(x) |
| #define | atomic_exchange_add(x, y) exchange_add(x, y, &__mutex) |
関数 | |
| int | exchange_add (int *x, int y, coil::Mutex *mutex) |
atomic add func
Copyright (C) 2008 Noriaki Ando Task-intelligence Research Group, Intelligent Systems Research Institute, National Institute of Advanced Industrial Science and Technology (AIST), Japan All rights reserved.
$Id$
| #define atomic_add | ( | x, | |||
| y | ) |
{ \
coil::Guard<coil::Mutex> guard(__mutex); \
*x = *x + y; \
}
| #define atomic_decr | ( | x | ) |
{ \
coil::Guard<coil::Mutex> guard(__mutex); \
--(*x); \
}
| #define atomic_exchange_add | ( | x, | |||
| y | ) | exchange_add(x, y, &__mutex) |
| #define atomic_incr | ( | x | ) |
{ \
coil::Guard<coil::Mutex> guard(__mutex); \
++(*x); \
}
| #define COIL_USES_ATOMIC_OP coil::Mutex __mutex; |
| int exchange_add | ( | int * | x, | |
| int | y, | |||
| coil::Mutex * | mutex | |||
| ) |
1.6.3