本章节要给大讲解是关于条件锁和信号锁的使用,对于锁大家并不陌生,但是小编的这篇内容,要从锁的几个方面入手讲解,第一部分是锁的定义,其次是锁的作用,在然后是使用方式,最后是针对类型也就是本章的两个主题做详细讲解,这样便于大家理解,也比较有逻辑性,好啦,具体内容如下:
一、锁的定义:
实现对共享资源的同步访问。
二、锁的作用:
锁代码,只能一个线程执行完,另一个线程才能执行
增加了安全性
三、锁的两种使用方式:
常规方式:手动加锁和解锁
with 方式:自动加锁和解锁(建议用这种方式)
四、条件锁与信号量锁
条件锁:锁的二次封装,加入了等待和唤醒功能
使用方法:
acquire();锁定,只允许当前线程执行锁 release():释放当前线程
信号量锁:锁和条件锁的二次封装,加入了同时执行线程的数量限制
使用方法:
acquire();锁定,只允许当前线程执行锁 release():释放当前线程
关于信号锁线程并不是越多越好,可以这样控制,而且,比较适应于在多线程中,2个线程抢这个锁,而对于条件锁,基本上使用是需要去唤醒了,好啦,本章到此结束了,大家好好学习了解吧。