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

java 锁(一):java主流锁

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

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

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

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

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

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

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

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

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

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

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

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

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

    能:共享锁
    不能:排他锁

    相关文章

      网友评论

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

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