RTT学习笔记10- 设备IPC 完成量-ringbufffer-workwueue

本文详细介绍了RTT操作系统中的三种IPC机制:completion完成量,包括其与信号量的区别、结构及函数接口;ringbuffer环形缓冲区,包括数据结构、函数接口及其在缓冲区满时的处理;最后讲解了工作队列workqueue的使用,包括系统工作队列和自定义工作队列的创建、销毁及任务提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.completion完成量

轻量级的IPC通信机制

1.1完成量和信号量对比

  1. 信号量是一种非常灵活的同步方式,可以运用在多种场合中。形成锁、同步、资源计数等关系,也能方便的用于线程与线程、中断与线程间的同步中
  2. 完成量,是一种更加轻型的线程间同步的一种实现,可以理解为轻量级的二值信号,可以用于线程和线程间同步,也可以用于线程和中断之间的同步。
  3. 完成量不支持在某个线程中调用 rt_completion_wait,还未唤醒退出时,在另一个线程中调用该函数。–只可以多个线程调用done,但是不可以多个线程调用wait
  4. 当完成量应用于线程和中断之间的同步时,中断函数中只能调用 rt_completion_done 接口,而不能调用 rt_completion_wait 接口,因为 wait 接口是阻塞型接口,不可以在中断函数中调用

1.2 完成量结构

struct rt_completion
{
   
   
    r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Car12

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值