1\section{\class{wxCriticalSection}}\label{wxcriticalsection} 2 3A critical section object is used for exactly the same purpose as 4\helpref{mutexes}{wxmutex}. The only difference is that under Windows platform 5critical sections are only visible inside one process, while mutexes may be 6shared between processes, so using critical sections is slightly more 7efficient. The terminology is also slightly different: mutex may be locked (or 8acquired) and unlocked (or released) while critical section is entered and left 9by the program. 10 11Finally, you should try to use 12\helpref{wxCriticalSectionLocker}{wxcriticalsectionlocker} class whenever 13possible instead of directly using wxCriticalSection for the same reasons 14\helpref{wxMutexLocker}{wxmutexlocker} is preferrable to 15\helpref{wxMutex}{wxmutex} - please see wxMutex for an example. 16 17\wxheading{Derived from} 18 19None. 20 21\wxheading{Include files} 22 23<wx/thread.h> 24 25\wxheading{See also} 26 27\helpref{wxThread}{wxthread}, \helpref{wxCondition}{wxcondition}, 28\helpref{wxCriticalSectionLocker}{wxcriticalsectionlocker} 29 30\latexignore{\rtfignore{\wxheading{Members}}} 31 32\membersection{wxCriticalSection::wxCriticalSection}\label{wxcriticalsectionctor} 33 34\func{}{wxCriticalSection}{\void} 35 36Default constructor initializes critical section object. 37 38\membersection{wxCriticalSection::\destruct{wxCriticalSection}}\label{wxcriticalsectiondtor} 39 40\func{}{\destruct{wxCriticalSection}}{\void} 41 42Destructor frees the resources. 43 44\membersection{wxCriticalSection::Enter}\label{wxcriticalsectionenter} 45 46\func{void }{Enter}{\void} 47 48Enter the critical section (same as locking a mutex). There is no error return 49for this function. After entering the critical section protecting some global 50data the thread running in critical section may safely use/modify it. 51 52\membersection{wxCriticalSection::Leave}\label{wxcriticalsectionleave} 53 54\func{void }{Leave}{\void} 55 56Leave the critical section allowing other threads use the global data protected 57by it. There is no error return for this function. 58 59