学习复杂的技术一定要通过简单的生活事例去理解,和加深记忆,不然你绝对掌握不了!锁用在高并发,多线程模型当中,用于解决共享资源的安全问题!防止数据错误!下面分别用事例说下这几种锁机制:1,互斥锁:也叫阻塞锁,就像上wc,同一个WC不可能容纳两个人(线程)同时进行吧?一个人在上的时候,把门关上了,另一个人只能一直等着,这就是互斥锁(只有一个能执行)!2,条件锁:也叫条件变量锁,两个人去酒店吃饭,你去上WC的时候,发现里面有人(别的线程在执行)在上,敲了敲门,里面的人说:你先再去吃会,等我好了我叫你哈!然后你回去继续等着!(无竞争),等到他好了叫你了(唤醒线程),你才去继续执行!3,读写锁:同一个场景,同一个坑位!酒店人太多了,上厕所挤不过来!怎么办呢?一块小便吧(同享同一个坑位,小便,读锁共享),上大号怎么办呢?是只能一个人啊(写锁是一个线程独占)!解决大量的小便阻塞坑位的问题!4,自旋锁:是同一个场景,同一个坑位!一个人已经占了坑了,你很急啊,要拉裤子了,怎么办呢?一直敲门(循环检索是否可以获得锁),同时说,我好急啊!直到里面的人不胜其烦出来了,你进去愉快的上厕所(执行线程)了!这个过程中你一直在敲门(一直使用CPU资源)!有定时锁,轮询锁,对象锁,类锁,显示锁,隐式锁等下次再举例吧!别问我为什么,因为你没关注我.... 。
如何理解互斥锁、条件锁、读写锁以及自旋锁,它们的区别在哪?
【读写锁和互斥锁的区别,自旋锁和互斥锁的区别】
学习复杂的技术一定要通过简单的生活事例去理解,和加深记忆,不然你绝对掌握不了!锁用在高并发,多线程模型当中,用于解决共享资源的安全问题!防止数据错误!下面分别用事例说下这几种锁机制:1,互斥锁:也叫阻塞锁,就像上wc,同一个WC不可能容纳两个人(线程)同时进行吧?一个人在上的时候,把门关上了,另一个人只能一直等着,这就是互斥锁(只有一个能执行)!2,条件锁:也叫条件变量锁,两个人去酒店吃饭,你去上WC的时候,发现里面有人(别的线程在执行)在上,敲了敲门,里面的人说:你先再去吃会,等我好了我叫你哈!然后你回去继续等着!(无竞争),等到他好了叫你了(唤醒线程),你才去继续执行!3,读写锁:同一个场景,同一个坑位!酒店人太多了,上厕所挤不过来!怎么办呢?一块小便吧(同享同一个坑位,小便,读锁共享),但是上大号怎么办呢?还是只能一个人啊(写锁还是一个线程独占)!解决大量的小便阻塞坑位的问题!4,自旋锁:还是同一个场景,同一个坑位!一个人已经占了坑了,但是你很急啊,要拉裤子了,怎么办呢?一直敲门(循环检索是否可以获得锁),同时说,我好急啊!直到里面的人不胜其烦出来了,你进去愉快的上厕所(执行线程)了!这个过程中你一直在敲门(一直使用CPU资源)!还有定时锁,轮询锁,对象锁,类锁,显示锁,隐式锁等下次再举例吧!别问我为什么,因为你还没关注我....。
推荐阅读
- 苹果12手机真实图片,iphone12屏幕和边框平吗还是有一点点突出来
- 苹果手机密码锁屏了怎么解开,苹果手机忘记锁屏密码怎么办法解开
- 苹果手机型号大全及价格表,苹果手机型号和价格
- 手机处理器什么样的处理器是好的 买手机还只看跑分和处理器
- 怎么取消电池维修状态,如何设置取消顶拦的显示日期和电池图案
- 同样配备苹果M1芯片,苹果m1芯片和i7哪个好
- 单反相机和微单哪个好,微单相机和单反相机哪个好
- 差速锁如何用
- 差速锁怎么用
- iphonexs和xsmax区别