当前位置: 首页 > news >正文

苏州现代建设公司网站基木鱼建站

苏州现代建设公司网站,基木鱼建站,新乡手机网站建设公司,文化传媒公司简介模板1.1 可重入锁、不可重入锁 Java中提供的synchronized,ReentrantLock,ReentrantReadWriteLock都是可重入锁。 重入:当前线程获取到A锁,在获取之后尝试再次获取A锁是可以直接拿到的。 不可重入:当前线程获取到A锁&…

1.1 可重入锁、不可重入锁

Java中提供的synchronized,ReentrantLock,ReentrantReadWriteLock都是可重入锁。

重入:当前线程获取到A锁,在获取之后尝试再次获取A锁是可以直接拿到的。

不可重入:当前线程获取到A锁,在获取之后尝试再次获取A锁,无法获取到的,因为A锁被当前线程占用着,需要等待自己释放锁再获取锁。

1.2 乐观锁、悲观锁

Java中提供的synchronized,ReentrantLock,ReentrantReadWriteLock都是悲观锁

Java中提供的CAS操作,就是乐观锁的一种实现。

悲观锁:获取不到锁资源时,会将当前线程挂起(进入BLOCKED、WAITING),线程挂起会涉及到用户和内核态的切换,而这种切换是比较消耗资源的。

  • 用户态:JVM可以自行执行的指令,不需要借助操作系统执行。

  • 内核态:JVM不可以自行执行,需要操作系统才可以执行。

乐观锁:获取不到锁资源,可以再次让CPU调度,重新尝试获取锁资源。

Atomic原子性类中,就是基于CAS乐观锁实现的。

1.3 公平锁、非公平锁

Java中提供的synchronized只能是非公平锁。

Java中提供的ReentrantLock,ReentrantReadWriteLock可以实现公平锁和非公平锁

公平锁:线程A获取到了锁资源,线程B没有拿到,线程B去排队,线程C来了,锁被A持有,同时线程B在排队。直接排到B的后面,等待B拿到锁资源或者是B取消后,才可以尝试去竞争锁资源。

非公平锁:线程A获取到了锁资源,线程B没有拿到,线程B去排队,线程C来了,先尝试竞争一波

  • 拿到锁资源:开心,插队成功。

  • 没有拿到锁资源:依然要排到B的后面,等待B拿到锁资源或者是B取消后,才可以尝试去竞争锁资源。

1.4 互斥锁、共享锁

Java中提供的synchronized、ReentrantLock是互斥锁。

Java中提供的ReentrantReadWriteLock,有互斥锁也有共享锁。

互斥锁:同一时间点,只会有一个线程持有者当前互斥锁。

共享锁:同一时间点,当前共享锁可以被多个线程同时持有。

知识速记: 重入 乐观 公平 互斥

http://www.yayakq.cn/news/987587/

相关文章:

  • 网站 建设初步企业网站备案资料填写单
  • 偃师网站开发PHP视频类网站应该怎么做
  • wordpress如何换图片不显示重庆关键词优化软件
  • 怎么做盗版网站邢台市第三医院
  • 找人做网站去哪里找做招聘网站怎么样
  • 国外网站注册软件怎么建设自己的购物网站
  • 黄岛网站建设公司首选网站建设进什么科目
  • 南通网站建设企业如何创作网站
  • dedecms做的网站首页被挂马电商如何推广产品
  • 工作室网站建设的意义网易企业邮箱的登录方法
  • 嘉定做网站的一个新网站做多久才有流量转化
  • 个人网站做的类型重庆市渝兴建设投资有限公司网站
  • 深圳网站建设好义乌网站建设九
  • wordpress多站版网站的主要内容
  • 网站目录结构设计应注意的问题微信文档
  • 中山网站制作工具重庆设计集团
  • 简单的电商网站开发互联网推广专员是做什么的
  • 环保网站建设多少钱企业信用公示网上查询平台
  • 小吃培训网站源码服装 东莞网站建设
  • 网站建设费用写创意wordpress ip 跳转
  • 怎么在手机上建网站全国文明城市创建知识问答
  • 软件网站建设的目的软文写作发布
  • 做资源网站需要什么别墅花园装修设计公司
  • 网站推广策划方案和网站推广执行方案的区别东营会计信息网官网首页
  • 网站登录验证码是怎么做的怎么看网站什么时候做的
  • 北流网站制作你会怎么做外国的网站
  • 广西网站设计服务我的qq中心手机版登录入口
  • 医生在网站上做自我宣传全国水利建设市场信用信息平台网站
  • 东莞专业建站公司费用有意义的网站
  • 怎么用网页源码做网站怎么做淘宝返利网站吗