独望枫

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

RT-Thread Nano 线程间同步之事件集

Posted on 2021-07-14 01:21 小菜枫 阅读(82) 评论(0)  编辑 收藏 引用 所属分类: 学习笔记
事件默认关闭,如果需要使用事件,则需要在rtconfig.h头文件中启用事件

事件是一种灵活的线程同步机制,每个线程由一个32位的无符号整型来表示一个事件集,一个事件集包含32个事件,由此可以实现事件与线程的一对多或者多对多。
下面举个例子:
①只有除数与被除数都准备OK后,进行除法运算(除数/被除数)
②除数与被除数任一准备OK,则输出调试信息表明其已准备OK


1、声明事件集及线程控制块指针(随机除数线程,随机被除数线程,除法运算线程)


2、创建事件集及相关线程


3、示例函数实现及解释


4、烧写验证


------------------------↑动态创建----静态初始化↓-----------------------


直接上代码,这里只是静态创建事件集和线程,其他跟上面动态创建的一样:
初始化事件集及线程


线程中的事件集发送和接收:


执行验证结果:

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理