摘要: 一、概念 linux信号量: 允许多个线程同时进入临界区,可以用于进程间的同步。 和互斥锁(mutex)的区别: 互斥锁只允许一个线程进入临界区。 所在头文件: semaphore.h 二、主要函数 初始化函数 int sem_init(sem_t *sem, int pshared, unsign 阅读全文
posted @ 2017-05-26 17:20 amanlikethis 阅读(1091) 评论(0) 推荐(0) 编辑
摘要: 一、概念 原子操作提供了指令原子执行,中间没有中断。就像原子被认为是不可分割颗粒一样,原子操作(atomic operation)是不可分割的操作。 c语言中一个变量的自加1操作,看起来很简单,好像只需要一条指令而不被打断。但这个操作实现起来,CPU的执行是有一个过程的,分为读取到寄存器,寄存器数学 阅读全文
posted @ 2017-05-26 16:20 amanlikethis 阅读(5281) 评论(0) 推荐(0) 编辑
摘要: 一、描述 嵌入式开发系统中,有各种硬件资源,而有些硬件资源使用时候是需要进程独占的。也就是说,同一时刻只有一个进程允许使用这个硬件资源,其他的进程只能放弃执行或者挂起等待。在设计其对应驱动的时候,就需要做独占处理。 example: led灯驱动,4盏LED灯,在open的时候调用驱动,对其引脚进行 阅读全文
posted @ 2017-05-26 15:58 amanlikethis 阅读(1678) 评论(0) 推荐(0) 编辑