摘要:前言前些天公司线上发生事故,在排查原因的过程中发现代码中出现了关键字。究竟关键字回性能有多大影响,今天我们来做一个小实验。因此在单机同时处理个的场景时,关键字会对响应时间有明显的影响。因此在生产环境建议谨慎使用关键字。
前言
前些天公司线上发生事故,在排查原因的过程中发现代码中出现了synchronized关键字。在学习java的时候我们都知道synchronized关键字的语法含义。多个线程对于同一个对象上的synchronized方法是串行访问的。它是一把双刃剑,在防止并发访问公共数据的同时也对性能产生了影响。究竟synchronized关键字回性能有多大影响,今天我们来做一个小实验。
实验过程 1 写两段简单的代码(SpringMVC)@RequestMapping("testSyn") @ResponseBody public String testSyn() { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } return "ok"; }
@RequestMapping("testSyn") @ResponseBody public synchronized String testSyn() { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } return "ok"; }
vUser设为99
实验结果从上面的结果可以发现无synchronized的tps约为有synchronized的5倍,且有synchronized关键字的版本平均响应时间已经超过1秒,严重影响了用户体验。因此在单机同时处理99个vUser的场景时,synchronized关键字会对响应时间有明显的影响。如果当前的服务是为上层其他应用服务的时候则有可能产生大量超时,进而引发雪崩效应。因此在生产环境建议谨慎使用synchronized关键字。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67200.html
摘要:无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个保持者,也就说,在任何时刻最多只能有一个执行单元获得锁。另外在中引入了自适应的自旋锁。和关键字的总结推荐一 该文已加入开源文档:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识)。地址:https://github.com/Snailclimb... 本文是对 synchronized 关键字使用、底层原理、JD...
摘要:不是线程安全的,那问题出现在哪呢众所周知,方法能够保证所修饰的代码块方法保证有序性原子性可见性。讲道理,如果没有报错的话,应该每个线程都对值进行。 前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 大年初二,朋友问了我一个技术的问题(朋友实在是好学,佩服!) 该问题来源知乎(synchr...
摘要:使用可以禁止的指令重排,保证在多线程环境下也能正常运行。关键字底层原理总结关键字底层原理属于层面。另外在中引入了自适应的自旋锁。自适应的自旋锁带来的改进就是自旋的时间不在固定了,而是和前一次同一个锁上的自旋时间以及锁的拥有者 【强烈推荐!非广告!】阿里云双11褥羊毛活动:https://m.aliyun.com/act/team1111/#/share?params=N.FF7yxCc...
摘要:第一个字被称为。经量级锁的加锁过程当一个对象被锁定时,被复制到当前尝试获取锁的线程的线程栈的锁记录空间被复制的官方称为。根据锁对象目前是否处于被锁定状态,撤销偏向后恢复到未锁定或经量级锁定状态。 Synchronized关键字 synchronized的锁机制的主要优势是Java语言内置的锁机制,因此,JVM可以自由的优化而不影响已存在的代码。 任何对象都拥有对象头这一数据结构来支持锁...
摘要:总结我们主要介绍到了以下几种方式实现单例模式饿汉方式线程安全懒汉式非线程安全和关键字线程安全版本懒汉式双重检查加锁版本枚举方式参考设计模式中文版第二版设计模式深入理解单例模式我是一个以架构师为年之内目标的小小白。 初遇设计模式在上个寒假,当时把每个设计模式过了一遍,对设计模式有了一个最初级的了解。这个学期借了几本设计模式的书籍看,听了老师的设计模式课,对设计模式算是有个更进一步的认识。...
阅读 3915·2021-11-16 11:44
阅读 3115·2021-11-12 10:36
阅读 3372·2021-10-08 10:04
阅读 1256·2021-09-03 10:29
阅读 390·2019-08-30 13:50
阅读 2604·2019-08-29 17:14
阅读 1734·2019-08-29 15:32
阅读 1080·2019-08-29 11:27