1. 信号量
信号量是一种资源计数器,用于记录一种资源的多个实例,它除了可以被用于任务与任务之间的通信手段外,还可以被用于中断与任务间的通信手段。
2. 互斥锁
互斥锁体现的是排他精神。互斥锁只能用做任务之间的同步。如果需要实现任务与中断间的互斥处理,应当通过中断控制这一途径。为了解决优先级反转的问题,互斥锁大多有优先级继承功能。递归互斥锁能解决任务多次上锁造成的死锁问题。
3. 事件
事件可被运用于同步多个通知事件的发生,它同样可以作为中断与任务间的通信手段。
4. 消息队列
消息队列具有更大的灵活性,可以通过自定义消息的方式,使得任务与任务以及中断与任务进行自由的通信。