]>
Commit | Line | Data |
---|---|---|
1 | ///////////////////////////////////////////////////////////////////////////// | |
2 | // Name: funcmacro_atomic.h | |
3 | // Purpose: Atomic Operation function and macro group docs | |
4 | // Author: wxWidgets team | |
5 | // Licence: wxWindows licence | |
6 | ///////////////////////////////////////////////////////////////////////////// | |
7 | ||
8 | /** | |
9 | ||
10 | @defgroup group_funcmacro_atomic Atomic Operations | |
11 | @ingroup group_funcmacro | |
12 | ||
13 | When using multi-threaded applications, it is often required to access or | |
14 | modify memory which is shared between threads. Atomic integer and pointer | |
15 | operations are an efficient way to handle this issue (another, less efficient, | |
16 | way is to use a wxMutex or wxCriticalSection). A native implementation exists | |
17 | for Windows, Linux, Solaris and Mac OS X; for others, a wxCriticalSection is | |
18 | used to protect the data. | |
19 | ||
20 | One particular application is reference counting (used by so-called | |
21 | @ref group_class_smartpointers "smart pointers"). | |
22 | ||
23 | You should define your variable with the type wxAtomicInt in order to apply | |
24 | atomic operations to it. | |
25 | ||
26 | */ | |
27 |