全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  Java技术干货  >  详情

Synchronized用过吗?其原理是什么

来源:千锋教育
发布人:syq
2022-11-07

推荐

在线提问>>

  1. 可重入性

  synchronized的锁对象中有一个计数器(recursions变量)会记录线程获得几次锁;

  可重入的好处:

  - 可以避免死锁;

  - 可以让我们更好的封装代码;

  - synchronized是可重入锁,每部锁对象会有一个计数器记录线程获取几次锁,在执行完同步代码块时,计数器的数量会-1,直到计数器的数量为0,就释放这个锁。

  2. 不可中断性

  - 一个线程获得锁后,另一个线程想要获得锁,必须处于阻塞或等待状态,如果个线程不释放锁,第二个线程会一直阻塞或等待,不可被中断;

  - synchronized 属于不可被中断;

  - Lock lock方法是不可中断的;

  - Lock tryLock方法是可中断的。

Synchronized用过吗

相关文章

依赖注入实现原理?

如何快速入门怎样学习java

SpringBoot整合JDBCTemplat

一个bug的解决过程,让你明白阅读源码的重要性

Redis的持久化机制有哪几种

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取