Java 对象的锁
来源:互联网 发布:疯狂美工怎么使用 编辑:程序博客网 时间:2024/06/05 16:03
Java 中每一个对象都有一个锁,当线程访问synchronized 的方法和代码块的时候,会获得这个锁,也可以理解为为这个对象加锁,这个锁在同一时间有且只能被一个线程访问。如果一个线程访问对象锁的时候,锁正在被其他线程访问,那么这个线程就需要等待占用锁的那个线程释放对象锁,陷入阻塞状态。当执行完synchronized方法或者代码块的时候,线程就会释放对象锁。
当线程通过 synchronized 方法或者代码块获得对象锁后,其他线程无法访问对象的任何synchronized方法或者代码块,但是可以访问非synchronized方法或者代码块。
如果对静态方法添加synchronized 或者对静态变量的修改添加synchronized 块,那么这个时候获得的是类对象的锁。(class对象)
当线程休眠的时候,是不会释放对象锁。
可以把对象锁理解为资源,线程使用完这个资源后,会释放这个资源,以便其他线程来使用。
当线程通过 synchronized 方法或者代码块获得对象锁后,其他线程无法访问对象的任何synchronized方法或者代码块,但是可以访问非synchronized方法或者代码块。
如果对静态方法添加synchronized 或者对静态变量的修改添加synchronized 块,那么这个时候获得的是类对象的锁。(class对象)
当线程休眠的时候,是不会释放对象锁。
可以把对象锁理解为资源,线程使用完这个资源后,会释放这个资源,以便其他线程来使用。
0 0
- Java 对象的锁
- java的对象锁和对象传递
- java读书笔记-对象的锁
- Java的类锁和对象锁
- java 线程锁对象锁的理解
- Java的类锁和对象锁
- java中synchroized锁的那个对象
- Java解惑 -- 对象锁的错乱
- Java多线程锁对象的改变
- java 的Statement 对象
- java 对象的生命周期
- java 对象的集合
- java对象的传递
- JAVA对象的排序
- java对象的存储
- JAVA:对象的清除
- Java的集合对象
- java对象的克隆
- 为表增加多个字段
- ethtool 在 Linux 中的实现框架和应用
- C#后台动态在asp页面画表
- 菜鸟Android学习之路07-列表选择框
- jquery dialog
- Java 对象的锁
- 二进制数、位和字节
- java中String、Date、Calendar之间相互转化
- tomcat配置内存
- oracle分区表使用
- String.CompareTo 语法
- Request和response的用法总结
- formValidator之校验
- 一套名企WEB前端面试题,不提供答案