请教嵌入编程阻塞于接收消息和阻塞于信号量的差别?
多个任务之间用消息队列通讯,每个任务都写成循环处理消息的结构,
如果消息队列中没有消息,每个任务就阻塞在
while (msgQReceive(msgQIdTask, (char*)msgRecvieve, sizeof(MessageBlock),
WAIT_FOREVER) != ERROR);
{
switch(命令)
case 1:
case 2:
...
case 退出:return;
}
前提是每个流程都很短。
这种方式和阻塞于信号量在执行效率上有没有什么差别呢?
阻塞于信号量的任务是排在一个队列里等待通知,阻塞于接收消息的任务呢?
望大虾指教!
发表时间:2002年11月6日10:17:00