Component index
Section index

Component uithread





Execute several tasks in independant UI threads


UI threads are extensivly used since each dialog is modal. UI threads are synchronous. At any given time, at most one thread is alive and all the other are in two possible states: Either starting or listening (in DIALOG::edit() generally).

void thread1 ()
void thread2 ()
void thread3 ()
void thread4 ()
void thread5 ()


sample / uithread / principles
sample / uithread / updating a dialog


void thread1 () Mandatory

Insert you first task here

void thread2 () Mandatory

Insert your second task here

void thread3 () Optional

void thread4 () Optional

void thread5 () Optional


void dontwait ()

Tell the uithread component not to wait for the threads to end

Normally, uithread waits until all threads have ended. Any thread may call dontwait() to change this behavior. This is generally used by a dialog poping a non modal sub-dialog. The uithread component is used to pass information (using glocal variables) to the threads. The threads grab a copy of the information and tell the component to end.