休眠 X 毫秒或线程信号?
Sleep for X milliseconds or on thread signal?
除非线程告诉我醒来,否则我想睡 X 时间。在下面的示例中,我想休眠 10 毫秒(1/100 秒)或直到 foo 有 2000 个项目。以先到者为准。我该怎么做呢?我编了函数
主线程:
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)
要等待超时条件,请使用 pthread_cond_timedwait
。
除非线程告诉我醒来,否则我想睡 X 时间。在下面的示例中,我想休眠 10 毫秒(1/100 秒)或直到 foo 有 2000 个项目。以先到者为准。我该怎么做呢?我编了函数
主线程:
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)
要等待超时条件,请使用 pthread_cond_timedwait
。