/*!
- @page thread_overview Multithreading overview
+ @page overview_thread Multithreading overview
Classes: #wxThread, #wxMutex,
#wxCriticalSection,
#wxCondition
+
wxWidgets provides a complete set of classes encapsulating objects necessary in
multithreaded (MT) programs: the #thread class itself and different
synchronization objects: #mutexes and
POSIX1.c threads API (a.k.a. pthreads), although several functions have
different names and some features inspired by Win32 thread API are there as
well.
+
These classes will hopefully make writing MT programs easier and they also
provide some extra error checking (compared to the native (be it Win32 or Posix)
thread API), however it is still a non-trivial undertaking especially for large
@ref idleevent_overview or even simply do everything at once
but call wxWindow::Update() periodically to update
the screen.
+
If you do decide to use threads in your application, it is strongly recommended
that no more than one thread calls GUI functions. The thread sample shows that
it @e is possible for many different threads to call GUI functions at once
more robust and will undoubtedly save you countless problems (example: under
Win32 a thread can only access GDI objects such as pens, brushes, c created by
itself and not by the other threads).
+
For communication between secondary threads and the main thread, you may use
wxEvtHandler::AddPendingEvent
or its short version #wxPostEvent. These functions