1 \section{\class{wxCriticalSection
}}\label{wxcriticalsection
}
3 A critical section object is used for the same exactly purpose as
4 \helpref{mutexes
}{wxmutex
}. The only difference is that under Windows platform
5 critical sections are only visible inside one process, while mutexes may be
6 shared between processes, so using critical sections is slightly more
7 efficient. The terminology is also slightly different: mutex may be locked (or
8 acquired) and unlocked (or released) while critical section is entered and left
11 Finally, you should try to use
12 \helpref{wxCriticalSectionLocker
}{wxcriticalsectionlocker
} class whenever
13 possible 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.
17 \wxheading{Derived from
}
21 \wxheading{Include files
}
27 \helpref{wxThread
}{wxthread
},
\helpref{wxCondition
}{wxcondition
},
28 \helpref{wxMutexLocker
}{wxmutexlocker
},
\helpref{wxCriticalSection
}{wxcriticalsection
}
30 \latexignore{\rtfignore{\wxheading{Members
}}}
32 \membersection{wxCriticalSection::wxCriticalSection
}\label{wxcriticalsectionctor
}
34 \func{}{wxCriticalSection
}{\void}
36 Default constructor initializes critical section object.
38 \membersection{wxCriticalSection::
\destruct{wxCriticalSection
}}\label{wxcriticalsectiondtor
}
40 \func{}{\destruct{wxCriticalSection
}}{\void}
42 Destructor frees the resources.
44 \membersection{wxCriticalSection::Enter
}\label{wxcriticalsectionenter
}
46 \func{void
}{Enter
}{\void}
48 Enter the critical section (same as locking a mutex). There is no error return
49 for this function. After entering the critical section protecting some global
50 data the thread running in critical section may safely use/modify it.
52 \membersection{wxCriticalSection::Leave
}\label{wxcriticalsectionleave
}
54 \func{void
}{Leave
}{\void}
56 Leave the critical section allowing other threads use the global data protected
57 by it. There is no error return for this function.