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

建设网站的好处有哪些域名cn和com有什么区别

建设网站的好处有哪些,域名cn和com有什么区别,做计算机网站有哪些内容,wordpress删除作者信息在 Java 中,锁共有 4 种状态,级别从低到高依次为:无状态锁,偏向锁,轻量级锁和重量级锁状态,这几个状态会随着竞争情况逐渐升级。锁可以升级但不能降级。 多线程锁锁升级过程 如下图所示 多线程锁的升级过程…

        在 Java 中,锁共有 4 种状态,级别从低到高依次为:无状态锁,偏向锁,轻量级锁和重量级锁状态,这几个状态会随着竞争情况逐渐升级。锁可以升级但不能降级。

多线程锁锁升级过程

        如下图所示

        多线程锁的升级过程主要指的是锁从偏向锁状态升级为轻量级锁状态,再升级为重量级锁状态的过程。以下是多线程锁的升级过程:

        1.偏向锁状态

        在偏向锁状态下,对象头中的 Mark Word 被设置为偏向锁标记,并记录了持有锁的线程ID。因此,当一个线程访问共享数据时,无需进行同步操作,可以直接进入临界区执行操作。如果其他线程也需要访问该共享数据,此时需要升级为轻量级锁状态。

        2.轻量级锁状态

        在轻量级锁状态下,对象头中的 Mark Word 被设置为指向锁记录的指针,同时锁记录结构体中包含了持有锁的线程ID和锁标志位等信息。此时,竞争线程会使用CAS(Compare and Swap)操作尝试获取锁,如果成功获取锁,则直接进入临界区执行操作;如果获取失败,则说明存在竞争,需要升级为重量级锁状态。

        3.重量级锁状态

        在重量级锁状态下,对象头中的 Mark Word 被设置为重量级锁标记,并将当前线程挂起,等待锁被释放后再唤醒线程进行竞争。由于重量级锁采用了操作系统内核的互斥机制,因此会引入较大的性能开销。

        在实际应用中,锁的升级过程通常是自动完成的。例如,在偏向锁状态下,当有其他线程竞争同一个锁时,就会自动升级为轻量级锁状态;当竞争激烈时,就会自动升级为重量级锁状态。这种锁升级过程的自动完成是通过对象头中的 Mark Word 标记位来实现的。

        在多线程编程中,锁的升级过程是非常重要的,可以根据并发场景进行优化,以提高程序的性能和稳定性。但是,在使用锁的过程中,也要避免死锁等问题,以确保程序的正确性和可靠性。

多线程锁状态对比

多线程中的锁升级原理

        指的是在锁的级别上进行优化,以提高并发性能。Java 中的锁升级机制主要包括无锁、偏向锁、轻量级锁和重量级锁。

  1. 无锁状态(无同步):当一个线程访问共享数据时,不需要任何同步操作,因为没有其他线程与之竞争。

  2. 偏向锁状态:当只有一个线程访问共享数据时,该线程会将对象头中标记位设置为偏向锁标记,表示该对象处于偏向锁状态。之后,该线程可以直接进入临界区执行操作,无需进行同步操作。这样,对于只有一个线程访问共享数据的情况,减少了同步的开销。

  3. 轻量级锁状态:当存在多个线程竞争同一个锁时,对象头中的标记位会变为轻量级锁标记。此时,竞争线程会使用CAS(Compare and Swap)操作来尝试获取锁。如果成功获取锁,则直接进入临界区执行操作;如果获取失败,则说明存在竞争,进一步升级为重量级锁。

  4. 重量级锁状态:当多个线程竞争同一个锁时,对象头中的标记位会变为重量级锁标记。此时,竞争线程会进入阻塞状态,操作系统会将其挂起,等待锁释放后再唤醒线程进行竞争。

        锁的升级原理是为了尽量减少锁带来的性能开销。在程序运行的过程中,锁的状态会根据竞争情况进行升级和降级,以适应不同的并发场景。当只有一个线程访问共享数据时,使用偏向锁可以避免不必要的同步开销;当存在竞争时,使用轻量级锁可以通过CAS操作快速获取锁,避免线程的阻塞和唤醒;当竞争激烈时,使用重量级锁可以确保线程安全,但可能会引入较大的性能开销。

        Java 中的锁升级机制是为了在提供线程安全的同时,尽量减少锁带来的性能影响,提高并发性能。

更多消息资讯,请访问昂焱数据(https://www.ayshuju.com/home)

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

相关文章:

  • 网站建设预算表制作建筑模板是什么东西
  • 微网站建设要多少钱一个网站两个数据库
  • 网站怎么用PS做服装企业网站建设策划书
  • 吉林房地产网站开发长沙建网站需要多少钱
  • 菜谱网站手机源码域名查询官网
  • 网址和网站的区别关键词推广软件排名
  • 毕设做网站怎么样搭建网站的必须条件
  • 成都市建设局官方网站做网站的是什么职位
  • wordpress 如何使用php版本号seo在线培训机构
  • 外贸soho网站建设合江做网站
  • 做网站需要多少网站运营与网络营销
  • 没有备案的网站 推广丹江口网站开发
  • 网站建设分前端和后台吗北京网站案例
  • zend studio 网站开发网站页面设计
  • 免费设计网站建设部工程造价管理网站
  • php p2p网站建设做网站需要的素材资料
  • 胶州网站建设东莞网站
  • 清河网站建设电话白银做网站
  • 企业网站后台管理网络推广运营外包公司
  • 电子商务网站怎么建网站建设方案书下载
  • 网站域名的管理密码如何索取南宁市流量点击推广平台
  • 视频教学网站开发品牌建设策略论文
  • 网站建设合同需要缴纳印花税产品展示网站开发
  • 网站后台模板免费上海建筑设计院有限公司是国企吗
  • 网站转wordpress收废品做网站怎么做
  • cnnic 网站做网络推广阿里巴巴还是网站好
  • 深圳app网站开发wordpress 英语
  • 珠海横琴天聚建设工程有限公司网站做片视频在线观看网站
  • 阜宁县建设局网站彩页设计软件
  • 网站建设价钱是多少网站改版设计要多久