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

关于一学一做的短视频网站好苏州网站开发公司

关于一学一做的短视频网站好,苏州网站开发公司,泰安网络软件公司,务川做网站wgusersynchronized的特性 1. 乐观锁/悲观锁自适应,开始时是乐观锁,如果锁冲突频繁,就转换为悲观锁 2.轻量级/重量级锁自适应 开始是轻量级锁实现,如果锁被持有的时间较长,就转换成重量级锁 3.自旋/挂起等待锁自适应 4.不是读写锁 5.非公平锁 6,可重入锁 synchronized的使用 1&#…

synchronized的特性

1. 乐观锁/悲观锁自适应,开始时是乐观锁,如果锁冲突频繁,就转换为悲观锁

2.轻量级/重量级锁自适应 开始是轻量级锁实现,如果锁被持有的时间较长,就转换成重量级锁

3.自旋/挂起等待锁自适应

4.不是读写锁

5.非公平锁

6,可重入锁

synchronized的使用

1)直接修饰普通方法
锁的是对象(单个对象内部加锁):

public class SynchronizedDemo {public synchronized void methond() {}
}

(2)修饰静态方法
锁的是类的所有对象:

public class SynchronizedDemo {public synchronized static void method() {}
}


(3)修饰代码块
明确指定锁哪个对象:
锁当前对象:

public class SynchronizedDemo {public void method() {synchronized (this) {}}
}

锁类对象:

public class SynchronizedDemo {public void method() {synchronized (SynchronizedDemo.class) {}}
}

只有两个线程竞争同一把锁,才会有锁冲突,才会产生阻塞等待。

synchronized的锁机制

1.锁升级

JVM将synchronized锁分为⽆锁、偏向锁、轻量级锁、重量级锁状态。会根据情况,进⾏依次升
级。

1.偏向锁阶段

核心思想:懒汉模式,能不加锁就不加锁,能晚加锁则晚加锁

偏向锁:并非真正加锁了,而是做了非常轻量的标记

一旦其他线程来和我竞争这个锁,就在另一个线程之前,先把锁获取到

从偏向锁升级到轻量级锁(真正加锁,有互斥)

没有竞争,就把加锁省略

非必要不加锁

在遇到竞争的情况下,偏向锁没有提升效率,但是如果在没有竞争的情况下,偏向锁就大幅度提升效率

2.轻量级锁阶段

有竞争但不多   通过自旋锁方式实现

优:另外的线程把锁释放了,就会第一时间拿到锁

劣:比较耗CPU

与此同时,synchronized内部也会统计 当前这着锁对象,有多少个线程在参与竞争,这里当发生参与竞争的线程比较多了,就会进一步升级到重量级锁

对于自旋锁来说,如果同一个锁竞争者很多,大量的线程都在自旋,整体CPU的消耗就很大

 3.重量级锁阶段

此时拿不到锁的线程就不会继续自旋了,而是进行"阻塞等待",就会让出CPU了(不会使CPU占用率太高)

当当前线程释放锁的时候,就由系统随机唤醒一个线程随机唤醒一个线程来获取锁

2.锁消除

也是synchronized 中内置的优化策略

编译器优化中的一种方式,编译器编译代码的时候,如果发现这个代码,不需要加锁,就会自动化把锁干掉

锁消除,针对一眼看上去就完全不涉及线程安全问题的代码,能够把锁消除掉

偏向锁,运行起来才知道有没有锁冲突

 3.锁粗化

会把多个细粒度的锁,合并成一个粗粒度的锁

synchronized{} 大括号里包含的代码越少,就认为锁的粒度越细,包含的代码越多,就认为锁的粒度越粗

通常情况下,是更偏好于让锁的粒度细一点,更有利于多个线程并发执行的.但是有的时候,是希望锁的粒度粗点也挺好

 总结:

1.锁升级:偏向锁-> 轻量级锁->重量级锁

2.锁消除:自动干掉不必要的锁

3.锁粗话:把多个细粒度的锁合并成一个粗粒度的锁,减少锁竞争的开销

http://www.tj-hxxt.cn/news/42321.html

相关文章:

  • 动态网站首页模版seo 的原理和作用
  • 微网站是什么意思优化关键词排名工具
  • 什么是h5网站三叶草gy5987
  • 上海网站建设一般多少钱b2b平台免费推广网站
  • 移动卡套餐石家庄seo全网营销
  • 网站建设模板的搜狗网页版入口
  • 测牛学堂软件测试培训学费东莞seo网站排名优化
  • 做优惠卷网站倒闭了多少seo快速优化软件
  • 电脑网站建设方案站长工具综合查询系统
  • 怎样在微信中做网站有实力的网站排名优化软件
  • 济南网站托管运营安徽seo顾问服务
  • 网站托管外包网络营销和直播电商专业学什么
  • 如何自己动手做网站学编程的正规学校
  • wordpress软件网站主题网络推广与营销
  • 免费做网站有哪些家优化网站的方法
  • 删除wordpress站ip切换工具
  • 邯郸老区建设网站怎么打广告吸引客户
  • 网站界面设计总结合肥网站seo整站优化
  • 购物网站建设信息东莞最新疫情
  • 建交互网站需要多少钱2023年火爆的新闻
  • 网站加速cdn自己做嘉兴seo外包公司
  • 昆山网站建设需要多少钱河南品牌网站建设
  • 做的网站怎么放在网上网页制作培训教程
  • 怎么样做网站代理商宣传推广图片
  • 专业做家具的网站有哪些牛排seo
  • 营口网站开发公司百度推广官网首页
  • wordpress适合做大型网站吗优化网站视频
  • 广东网站建设方便余姚网站制作公司
  • 广州购物商城网站全面网络推广营销策划
  • 新手学做网站的教学书今日深圳新闻最新消息