例如,当我调用此POSIX消息队列方法时
#include <mqueue.h>
ssize_t mq_receive (mqd_t mqdes, char *msg_ptr, size_t msg_len,
unsigned int *msg_prio);
正常配置是阻止直到数据可用。我想知道“阻塞”一词到底是什么意思。
它是否以while(1)方式无休止地循环直到数据可用?
它是否等待条件变量变为true或发出信号(从而产生线程的CPU周期?
还是使用其他形式的软件中断机制?
这在我尝试设计低能耗,计算保守的实时系统时非常重要。