uc/os-iii学习笔记-任务同步(信号量、时间标志组)

本文介绍了实时操作系统中任务同步的两种主要方法:信号量和事件标志组。信号量用于任务或中断服务程序之间的简单同步,而事件标志组则适用于一个任务需要与多个事件同步的情况,并详细解释了‘或’同步与‘与’同步的区别。

任务同步

两种方式:信号量、事件标志组。
信号量的同步简而言之就是任务或者ISR发送信号量,某任务等待该信号量,收到后进入就绪态准备运行。
事件标志组就是一个任务与多个任务发生同步。


信号量

信号量在我的博文–资源管理中有提到过,具体可以看下:
与资源管理中不同的是,资源管理是为了独占共享资源,是上一把锁,而任务同步则是释放出信号量,在等待区等待该信号量的任务就会进入到就绪态准备运行。


这里写图片描述


事件标志组

有时候一个任务需要与多个事件同步,这个时候就需要使用事件标志组。事件标志组与任务之间有两种同步机制:“或”同步和“与”同步。

  • “或”同步:等待多个事件时,任何一个事件发生 ,任务都被同步,这个就称为“或”同步。

  • “与”同步:当所有的事件都发生时任务才被同步,这种同步机制被称为“与”同步。
    在UCOSIII中事件标志组为OS_FLAG_GRP,如果需要使用事件标志组的时候需要将OS_CFG_FLAG_EN置1,


这里写图片描述


具体函数操作就补贴上来了,自己看看源码就好,很容易懂的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值