其他分享
首页 > 其他分享> > JUC中各种锁的概念

JUC中各种锁的概念

作者:互联网

学习步骤:理论,代码,总结

公平锁

多个线程按申请锁的顺序来获取锁,从而执行,类似先来后到;

非公平锁

指多个线程不是按照申请锁的顺序获取锁,非公平锁线程上来就占有锁,失败再公平锁;

非公平锁会造成:只有一个线程工作,其他线程空闲的情况(线程饥饿);

可重入锁(递归锁)

线程获取可重入锁之后,可以在该线程里面的代码再获取到该锁,否则,如果是非可重入锁,再获取时就死锁了;

自旋锁

在多线程中,自旋的反义词是阻塞,

一般线程获取锁失败会阻塞,而自旋锁 线程,获取锁失败会继续执行程序尝试再获取锁,即多次循环获取锁的行为是自旋;

乐观锁

悲观锁

独占锁

写是独占锁

共享锁

读是共享锁

读锁

写锁

标签:重入,JUC,各种,概念,获取,线程,公平,自旋,失败
来源: https://www.cnblogs.com/yyjh/p/16529502.html