美文网首页Java多线程
java 锁(一):java主流锁

java 锁(一):java主流锁

作者: 姜小姜小 | 来源:发表于2019-06-04 16:32 被阅读0次

最近看完了美团2018年出的后台技术分享,其中有一章叫“java不得不说的锁事”,看完了觉得受益匪浅,所以在这里记录一下(纯记录,内容全部来自于美团技术团队,不用于盈利,侵删)。另外,现在在看阿里出的《码出高效》,里面有一节叫“并发与多线程”,对锁的理解和使用角度与美团又有很大的不同,等看完了再来更新~~~

线程要不要锁住同步资源?

锁住:悲观锁
不锁住:乐观锁

锁住同步资源失败,线程要不要阻塞?

阻塞:
不阻塞:自旋锁
与适应性自旋锁

多个线程竞争同步资源的流程细节有没有区别?

不锁住资源,多个线程中只有一个能修改资源成功,其他线程会重试:无锁
同一个线程执行同步资源时自动获取资源:偏向锁
多个线程竞争同个资源时,没有获取资源的线程自旋等待锁释放:轻量级锁
多个线程竞争同步资源时,没有获取资源的线程阻塞等待唤醒:重量级锁

多个线程竞争锁时要不要排队?

排队:公平锁
先尝试插队,插队失败再排队:非公平锁

一个线程中的多个流程能不能同时获取同一把锁?

能:可重入锁
不能:非可重入锁

多个线程能不能共享一把锁?

能:共享锁
不能:排他锁

相关文章

网友评论

    本文标题:java 锁(一):java主流锁

    本文链接:https://www.haomeiwen.com/subject/dncrxctx.html