1、消息队列概念:
队列又称消息队列,是一种常用于线程间通信的数据结构,队列可以在线程与线程间、中断和线 程间传送信息,实现了线程接收来自其他线程或中断的不固定长度的消息,并根据不同的接口选 择传递消息是否存放在线程自己的空间。线程能够从队列里面读取消息,当队列中的消息是空 时,挂起读取线程,用户还可以指定挂起的线程时间 ti meout;当队列中有新消息时,挂起的读 取线程被唤醒并处理新消息,消息队列是一种异步的通信方式。
2、消息队列的运作机制:
队列的运作过程具体见队列读写数据操作示意图。
3、消息队列的阻塞机制:
先来后到的机制,为了保护每个线程对它进行读写操作的过程,我们必须要有 阻塞机制,在某个线程对它读写操作的时候,必须保证该线程能正常完成读写操作,而不受后来 的线程干扰。
4、消息队列的应用场景:
消息队列可以应用于发送不定长消息的场合,包括线程与线程间的消息交换,以及在中断服务函 数中给线程发送消息(中断服务例程不可能接收消息)。
5、消息队列控制块:
1 struct rt_messagequeue {
2 struct rt_ipc_object parent; //会在自身结构体里面包含一个内核对
象类型的成