互斥条件
实现任务间通讯最简便到办法是使用共享数据结构。。虽然共享数据区法简化了任务间的信息交换,但是必须保证每个任务在处理共享数据时的排它性,以避免竞争和数据的破坏。与共享资源打交道时,使之满足互斥条件最一般的方法有:
- 关中断
- 使用测试并置位指令
- 禁止做任务切换
- 利用信号量
关中断和开中断
处理共享数据时保证互斥,最简便快捷的办法是关中断和开中断。
Disable interrupts; /*关中断*/ |
Access the resource (read/write from/to variables); /*读/写变量*/ |
Reenable interrupts; /*重新允许中断*/
|