互斥锁
安全机制
由于线程它是共享进程里面所有的资源,自然包括虚拟内存里面的所有东西包(包含全局变量,堆内存,映射的内存及程序段落等),同时也继承了进程的所有资源(文件描述符,信号资源等),这样就会出现一种情况:同一个资源可能被多个线程访问以及修改。
这样就很尴尬,如果你有一个余额,你可以去花费这笔余额,你的女朋友也可以支付宝或者是微信来花费你这笔余额,这个时候如果稍有不慎,大家就会产生逻辑冲突。所以提出了我们线程的同步互斥机制,来解决这个安全漏洞。
互斥锁
由posix给我们提供的一个配合线程的“锁”资源,达到一种逻辑:当我们需要去操作共享资源的时候,我们自己主动去跟系统拿这个互斥锁(上锁操作),这个时候如果别人也想要过来拿这把锁的时候,锁已经被拿走便陷入睡眠,一直等到先拿了这把互斥锁的人还给系统(解锁操作)后,下一个人才会被唤醒,然后拿走这把锁,以保证我们操作这个公有资源的时候,有且只有一个人在同一时间段里可以访问,其他人如果访问则陷入睡眠。
互斥锁API
pthread_mutex_init 初始化互斥锁
<