The usual way is using Events and WaitForSingleObject/WaitForMultipleObjects APIs.
See also Using Worker Threads