Bootstrap

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

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
;