![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
互斥锁
文章平均质量分 60
weixin_52571040
这个作者很懒,什么都没留下…
展开
-
信号量、使用信号量来完成读写模型(消费者生产者模型)线程池、读写锁面试题
多线程3信号量资源计数器信号量和条件变量的对比信号量的互斥与同步接口信号量类型初始化等待接口发送接口销毁接口使用信号量完成读写模型线程池本质信号量资源计数器信号量在本质上是PCB等待队列+计数器 计数器:对资源的计数,会影响信号量的等待接口和发送接口(唤醒接口)的逻辑如果有一个停车场,内有8个车位,此时停满了车,又有2辆车想停进去,即处于等待队列,此时资源计数器的值便为-2当一个线程调用发送接口之后,资源计数器进行加1操作,此时,加1操作之后的资源计数器的结果还是小于0,此时需要通知等待队列原创 2021-07-27 17:44:58 · 263 阅读 · 0 评论 -
等待队列中为什么需要互斥锁?一个线程在等待时被唤醒后会做什么?安全队列的代码实现
多线程2同步同步原创 2021-07-26 17:55:04 · 543 阅读 · 0 评论 -
死锁的代码产生及必要条件与预防
死锁死锁的定义及现象简单的定义复杂的定义死锁的代码及现象死锁的必要条件预防死锁死锁的定义及现象简单的定义当一个执行流获取到互斥锁后,并没有进行解锁,就会导致其他执行流由于获取不到锁资源进行阻塞,将这种现象称为死锁复杂的定义当线程A获取到互斥锁1,线程B获取到互斥锁2的时候,线程A和线程B同时还想获取对方手中的所(线程A还想获取互斥锁2,线程B还想获取互斥锁1),此时就会导致死锁死锁的代码及现象 1 #include <stdio.h> 2 #include &l原创 2021-07-23 17:01:26 · 153 阅读 · 0 评论 -
线程控制、如何给面试官描述线程不安全的情况?模拟黄牛抢票展现不安全的情况及解决方式、互斥锁加锁解锁
线程是操作系统的调度的基本单位进程是操作系统资源分配的基本单位进程与线程的对比:1、进程的健壮性比线程好2、多线程要比多进程耗费资源小,而且切换快,程序运行效率高线程控制:线程创建:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)pthread_t:线程的标识符,本质上是线程在共享区独有空间的首地址threa原创 2021-07-23 16:19:29 · 240 阅读 · 0 评论