Ожидание результатов работы от другого потока
От: DnAp Россия http://dnap.juchman.ru
Дата: 15.01.13 11:03
Оценка:
Приветствую.
У меня существует процесс допустим ClientThread1 который в случае необходимости запускает WorkThread.
WorkThread выполняет некоторый объем работы которая в большенстве случаев превышает объем работы необходимый для продолжения работы ClientThread1.
Как ClientThread1 узнать что можно продолжать работать?

Единственное что мне пришло в голову это написать код вроде
while(true){
    lock(data){
        if(data.success){
            continue;
        }
    }
    Sleep(10);
}

В данном решении приложение может простаивать до 10мс да еще и lock не быстрая штука.

Хотя вроде это не относится к делу, но хочу заметить что один или несколько WorkThread разбирающих очередь мне не подходят из за особенностей поставленных задач.

Подскажите есть ли более верные способы решения этой задачи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.