睡眠X毫秒或线程信号?

时间:2016-03-07 10:31:42

标签: c++ pthreads

我想睡觉X段时间,除非线程告诉我醒来。在下面的示例中,我想要睡眠10毫秒(1/100秒)或者直到foo有2000个项目。无论谁先来。我该怎么做呢?我编写了函数

MainThread:

pthread_sleep_fn(10000, some_cond_var)  
printf("%d items has been processed", foo.items.count())

主题:

while(true)
    auto result = read_data()
    foo.items.add(result)
    if(foo.items.count()>2000)
        pthread_wake_up(some_cond_var)

1 个答案:

答案 0 :(得分:1)

要等待超时的情况,请使用pthread_cond_timedwait