Можешь ещё поискать почитать про waitable objects, например про такие функции как WaitForSingleObject() в винде и про select() в posix threads (читай в линукс). Например, если быть более конкретным, попробуй найти аналог той же WaitForSingleObject() в линуксе...