some more explanations about thread exiting/killing/deleting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
444cb676b2
commit
f7aa71fa81
@ -127,6 +127,18 @@ joinable threads and is the value returned by \helpref{Wait}{wxthreadwait}.
|
|||||||
This function is called by wxWindows itself and should never be called
|
This function is called by wxWindows itself and should never be called
|
||||||
directly.
|
directly.
|
||||||
|
|
||||||
|
\membersection{wxThread::Exit}\label{wxthreadexit}
|
||||||
|
|
||||||
|
\func{void}{Exit}{\param{ExitCode }{exitcode = 0}}
|
||||||
|
|
||||||
|
This is a protected function of wxThread class and thus can be called only
|
||||||
|
from a derived class. It also can be called only in the context of this
|
||||||
|
thread, i.e. a thread can only exit from itself, not from another thread.
|
||||||
|
|
||||||
|
This function will terminate the OS thread (i.e. stop the associated path of
|
||||||
|
execution) and also delete the associated C++ object for detached threads.
|
||||||
|
\helpref{wxThread::OnExit}{wxthreadonexit} will be called just before exiting.
|
||||||
|
|
||||||
\membersection{wxThread::GetCPUCount}\label{wxthreadgetcpucount}
|
\membersection{wxThread::GetCPUCount}\label{wxthreadgetcpucount}
|
||||||
|
|
||||||
\func{static int}{GetCPUCount}{\void}
|
\func{static int}{GetCPUCount}{\void}
|
||||||
@ -198,16 +210,25 @@ be used with extreme care (and not used at all whenever possible)!} The resource
|
|||||||
allocated to the thread will not be freed and the state of the C runtime library
|
allocated to the thread will not be freed and the state of the C runtime library
|
||||||
may become inconsistent. Use \helpref{Delete()}{wxthreaddelete} instead.
|
may become inconsistent. Use \helpref{Delete()}{wxthreaddelete} instead.
|
||||||
|
|
||||||
For detached threads Kill() will also delete the associated C++ object.
|
For detached threads Kill() will also call \helpref{OnExit}{wxthreadonexit}
|
||||||
|
and delete the associated C++ object, however this will not happen for
|
||||||
|
joinable threads and this means that you will still have to delete the
|
||||||
|
wxThread object yourself to avoid memory leaks.
|
||||||
|
|
||||||
This function can only be called from another thread context.
|
This function can only be called from another thread context, i.e. a thread
|
||||||
|
can not kill itself.
|
||||||
|
|
||||||
|
It is also an error to call this function for a thread which is not running or
|
||||||
|
paused (in the latter case, the thread will be resumed first) - if you do it,
|
||||||
|
{\tt wxTHREAD\_NOT\_RUNNING} error will be returned.
|
||||||
|
|
||||||
\membersection{wxThread::OnExit}\label{wxthreadonexit}
|
\membersection{wxThread::OnExit}\label{wxthreadonexit}
|
||||||
|
|
||||||
\func{void}{OnExit}{\void}
|
\func{void}{OnExit}{\void}
|
||||||
|
|
||||||
Called when the thread exits. This function is called in the context of the thread
|
Called when the thread exits. This function is called in the context of the
|
||||||
associated with the wxThread object, not in the context of the main thread.
|
thread associated with the wxThread object, not in the context of the main
|
||||||
|
thread.
|
||||||
|
|
||||||
This function should never be called directly.
|
This function should never be called directly.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user