- pthread_cond_wait и загрузка процессора, Maxim Kuznetsov, 14:35 , 03-Авг-05 (1)
>Есть замечательная функция pthread_cond_wait, которая, как заявлено, останавливает процесс до прихода сигнала >"из вне" на его разблокирование функцией pthread_cond_signal. В книге "Программирование для >Linux. Профессиональный подход" (Марк Митчелл и др.) даже дан пример на >использование этих функций (глава 4.4.6). Там же авторы говорят о том, >что pthread_cond_wait избавляет нас от траты процессорного времени впустую. >Самое смешное, то, что процесс действительно останавливается на этой функции и >ждет сигнала, НО при этом загрузка процессора 99%. Есть ли решение >этой проблемы? Необходимо чтобы поток действительно остановился и разгрузил процессор. а у вас в другой нити нет случайно бесконечного цикла ? 99% что есть..во кривых примерах любят применять while(1);
- pthread_cond_wait и загрузка процессора, leha, 14:52 , 03-Авг-05 (2)
- pthread_cond_wait и загрузка процессора, Maxim Kuznetsov, 15:01 , 03-Авг-05 (3)
> >>а у вас в другой нити нет случайно бесконечного цикла ? >>99% что есть..во кривых примерах любят применять while(1); > >Есть! >while(1) >{ >... >pthread_cond_wait(cv, mutex); <- здесь я останавливаюсь >... >} > >Факстически я стою в нужном месте (проверял) и while(1) не должен мешать. > я про ДРУГУЮ нить говорил...которая параллельно крутиться.. в большинстве примеров про pthread из книги в книгу качует много ерунды навроде : int main() { pthread_create() pthread_create() while(1) ; }
|