独望枫

人在尘世间,有缘自相见,变化千千万,未开窍,已迷恋
posts - 45, comments - 0, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

RT-Thread Nano 线程间通信之邮箱

Posted on 2021-07-14 01:24 小菜枫 阅读(399) 评论(0)  编辑 收藏 引用 所属分类: 学习笔记
邮箱功能默认打开,如果需要关闭,需要在rtconfig.h头文件中注释掉/删掉


1、创建邮箱及相关线程


2、接收发送邮件示例说明


3、烧写验证

可以看到接收函数并没有延时函数,一直在while(1)无限循环执行,但实际输出却不会一直猛刷屏,而是有固定输出间隔。
由此可以得出,邮箱接收是被动式触发的,有两种含义:
1、超时被动式-->如果在规定时间内没收到邮件,则跳出阻塞,重新循环进入下一轮等待接收
2、接收到邮件被唤醒-->线程一直阻塞在等待,线程处于挂起状态,等待接收到邮件再唤醒进行处理

WARNING: 没创建邮箱,触发邮箱接收时,不是提示邮箱不存在或者编译报错或者异常,而是会报邮箱满(-3).


------------------------↑动态创建----静态初始化↓-----------------------
直接上代码,这里只是静态创建邮箱控制块和线程,其他跟上面动态创建的一样:



只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理