【原理】RT-Thread内部IPC之邮箱

邮箱,在生活中可以用来传递资料、信息,在操作系统中,任务间的通讯也有邮箱,此邮箱与生活用的邮箱有异曲同工之处,都可以用来传递信息,不同的便是使用环境不同。

RT-Thread的邮箱,每一封邮箱只能容纳4个字节内容(针对32位处理器,指针大小即4个字节,刚好能容纳一个指针),当发送的内容超过4个字节时,可传递内容的地址。

 

邮箱的特性:

1,创建时,线程阻塞排序均可以选择优先级 or FIFO方式

2,线程阻塞时间均可以选择直接返回、挂起一段时间、永久等待。

3,可设定邮箱最大接收数量。(信号量、互斥量、事件不可设定最大值)

 

邮箱的发送与接收机制:

发送邮箱时,如果当前邮箱已经满,线程根据阻塞时间直接返回或挂起一段时间、永久等待。阻塞期间会进行线程调度,其他线程会执行。

接收邮件时,如果当前邮箱里面没有邮件,线程根据阻塞时间直接返回或挂起一段时间、永久等待。阻塞期间会进行线程调度,其他线程会执行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章