【发布时间】:2017-03-16 15:00:24
【问题描述】:
我正在使用 posix 线程并且有一个 workerRoutine 在某些情况下必须等待 I/O。
//WorkerRoutine
while(true){
if(NO CURRENT WORK){
//sleep for I/O
continue;
}
//Other cases....
}
我的 I/O 函数更新了一个静态大小的列表。我的问题是,当工人没有当前工作时,就会忙着等待。我想在工作函数中有一个睡眠函数,在我的 readList(I/O)函数中有一个唤醒函数。在 C 中执行此操作的最佳方法是什么?
【问题讨论】: