ReentrantLock和synchronized锁

这两个锁都是独占锁,所谓独占,就是我在用,你不准用,当锁定时,其他线程必须等待运行的线程结束才能分得资源。
那么,两个独占锁又有什么不同呢,简单记录一下
1.synchronized锁是自动锁,怎么锁和怎么解锁我们不用管,操作简单,只需要在方法前修饰就好,例如:
public synchronized void method(String name){}
#那我需要手动锁和解锁呢
2.ReentrantLock(重入锁)

    for (int i = 1; i <= 3; i++) {lock.lock();}for(int i=1;i<=3;i++){try {} finally {lock.unlock();}}

锁的次数和解锁次数要一致,否则导致无法正确释放锁,其他线程无法获得锁。
并且,在try-finally块中释放锁。

ReentrantLock和synchronized锁相关推荐

  1. synchronized锁的级别和ReentrantLock锁(AQS)

    目录 synchronized synchronized锁的特点 synchronized锁级别 无锁 偏向锁 轻量级锁 重量级锁 自旋锁 锁消除 ReentrantLock 公平锁和非公平锁 AQS ...

  2. ReentrantLock与synchronized

    1.ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的 ...

  3. 详解synchronized锁的各种用法及注意事项

    1 前言 本文主要通过简单的demo来阐述synchronized锁的各种用法以及使用synchronized锁的相关注意事项,记录下来同时也方便自己记忆. synchronized锁是jvm内置的锁 ...

  4. ReentrantLock和synchronized两种锁定机制

    ReentrantLock和synchronized两种锁定机制 应用synchronized同步锁 把代码块声明为 synchronized,使得该代码具有 原子性(atomicity)和 可见性( ...

  5. Java中的ReentrantLock和synchronized两种锁定机制的对比

    原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html 多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之 ...

  6. JUC多线程:synchronized锁机制原理 与 Lock锁机制

    前言: 线程安全是并发编程中的重要关注点,造成线程安全问题的主要原因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据.因此为了解决这个问题,我们可能需要这样一个方案,当存在多 ...

  7. reentrantlock非公平锁不会随机挂起线程?_【原创】Java并发编程系列16 | 公平锁与非公平锁...

    本文为何适原创并发编程系列第 16 篇,文末有本系列文章汇总. 上一篇提到重入锁 ReentrantLock 支持两种锁,公平锁与非公平锁.那么这篇文章就来介绍一下公平锁与非公平锁. 为什么需要公平锁 ...

  8. 浅析ReentrantLock重入锁

    在 Java 多线程中, 可以使用 synchronized 关键字来实现多线程之间同步互斥, 但在 JDK 1.5 中新增加了 ReentrantLock 类也能达到同样的效果, 并且在扩展功能上也 ...

  9. 公平锁非公平锁的实际使用_面经手册 · 第16篇《码农会锁,ReentrantLock之公平锁讲解和实现》...

    作者:小傅哥 博客:https://bugstack.cn 专题:面经手册 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 Java学多少才能找到工作? 最近经常有小伙伴问我,以为我的经验来看 ...

最新文章

  1. 如何保证数据库服务器的安全性
  2. C#的多线程(2)——机制探索
  3. Jakarta EE 8状态
  4. 4由通道检测_博唐平四通道糖化血红蛋白检测仪通过上海临检中心性能验证(二)...
  5. F - Warm up - hdu 4612(缩点+求树的直径)
  6. kotlin_Kotlin弦
  7. 华为内部发文宣布部分部门停止社招,外包可成为新常态
  8. PyTest 生成多种格式的 测试报告 report
  9. word中写出打对号的框
  10. Core Java笔记------来自达内项目经理穆笛
  11. 一键u盘装win7系统教程图解
  12. python生成分形图片_如何用TensorFlow生成令人惊艳的分形图案
  13. ggplot2 annotate()函数
  14. 【python】python异步抓取网站数据【详细过程】
  15. 设计模式是不是一件脱裤子放屁的事
  16. java刷铁机最新版本_我的世界:刷铁机其实很容易制作,但是有一个特殊的限制条件!...
  17. 如何删除本地和远程的 Git 分支
  18. 【中国银联】数据挖掘笔试+三面面经
  19. vue-router之addRoutes(动态路由/权限路由)使用分析
  20. 管理信息系统期末复习资料

热门文章

  1. Excel条形图也可以变身高大上
  2. [emerg]: unknown directive “”
  3. [心情]享受堕落的乐趣
  4. 游戏分类 PRG AVG
  5. 各品牌电脑进入BIOS的按键
  6. echarts实现全国及各省市地图(内附地图json文件)
  7. 探究App推广之路:流量思维永不死 ☞ iphone中App store上架优化建议
  8. python 列表推导 为什么快_Python中简单的列表推导式,却能解决复杂的问题,你学会了吗?...
  9. IntelliJ IDEA设置方法注释模板并解决入参和返回值为空问题
  10. 接入百家号流量的方法