如果在pthread_cond_timedwait()超时的同时发出cond信号怎么办?

时间:2014-05-25 18:16:15

标签: multithreading thread-safety pthreads race-condition condition-variable

在pthreads中,如果条件变量' cond'发出信号并且pthread_cond_timedwait()的超时时间同时发生?

pthread标准是否定义了行为?

是条件变量的特定于线程库的行为吗?

1 个答案:

答案 0 :(得分:0)

字面意思"同时"可能无法并且将依赖于硬件。您是否真的关心该实现是否优先于信号超时,即观察信号然后检查是否发生了超时,然后对其进行操作,即使它首先观察到信号? (或相反亦然)。当时序至关重要时,实时嵌入式系统会出现问题,并且优先考虑中断处理非常重要(PIC的CCS等编译器有指令来为此目的操纵ISR管理),但是在大多数Unix的非实时内核中是的,这个问题应该是无关紧要的,并且担心您的申请的强大性会让您提出质疑。