互斥量
关于锁的总结(一)互斥量
锁 我们语境下的锁是一种同步机制,用于计算机在多任务环境下访问公共资源达到互斥作用。 临界资源 临界资源(Critical Resource)是一次仅允许一个进程(任务)使用的共享资源 临界区 每个进程(任务)中访问临界资源的代码块。每次只允许一个进程进入临界区(Critical Section) 互斥量 互斥量(mutex),用于保护临界区的。下面举个例子,三个task,其中两个生产者,一个消费者 以下代码有如下假定: 1. 生产者在shared.buf[i]生成出数据 i 2. 生产者竞争(race)生产,直到所有buf区域都有数据,并此时停止生成 3. 消费者在整个buf全有数据后才开始消费 #include <stdio.h> #include <pthread.h>