对象的notify方法的含义和对象锁释放的三种情况
来源:互联网 发布:kbengine java 编辑:程序博客网 时间:2024/06/11 11:24
1、notify()方法的含义:
(1)notify()方法是随机唤醒一个线程,将等待队列中的一个等待线程从等待队列中移到同步队列中。
(2)在执行完notify()方法后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁,
要等到执行notify方法的线程将程序执行完 ,也就是退出sychronized代码块后,当前线程才会释放锁,
而在同步队列中的该线程才可以获取该对象锁。
2、对象所释放的三个场景:
(1)执行完同步代码块就会释放对象锁;
(2)在执行代码块的过程中,遇到异常而导致线程终止,也会释放对象锁;
(3)在执行同步代码块的过程中,执行了锁所属对象的wait()方法,这个线程会释放对象锁,而此线程对象会进入线程等待池中,等待被唤醒。
(1)notify()方法是随机唤醒一个线程,将等待队列中的一个等待线程从等待队列中移到同步队列中。
(2)在执行完notify()方法后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁,
要等到执行notify方法的线程将程序执行完 ,也就是退出sychronized代码块后,当前线程才会释放锁,
而在同步队列中的该线程才可以获取该对象锁。
2、对象所释放的三个场景:
(1)执行完同步代码块就会释放对象锁;
(2)在执行代码块的过程中,遇到异常而导致线程终止,也会释放对象锁;
(3)在执行同步代码块的过程中,执行了锁所属对象的wait()方法,这个线程会释放对象锁,而此线程对象会进入线程等待池中,等待被唤醒。
阅读全文
0 0
- 对象的notify方法的含义和对象锁释放的三种情况
- 对象的notify方法的含义和对象锁释放的三种情况
- 释放Com对象的方法.
- 线程中 Object对象的wait和notify方法使用,
- 对象的建立和释放
- 对象的notify()和notifyAll()区别
- Java 线程 Thread 对象锁的wait和notify解析
- Android中对象锁的wait()和notify()
- ARC 下两种释放对象的方法
- ARC机制下也有释放对象的方法
- ARC 下两种释放对象的方法
- GDI+对象的释放
- autorelease对象的释放
- .NET对象的释放
- 关于GDI 对象的创建和释放
- 对象的动态建立和释放
- C++对象的动态建立和释放
- C++对象的动态建立和释放
- #define中宏定义中的空格
- Common Subexpression Elimination UVA
- java--正则表达式
- 取整函数的性质
- Python学习(十八)——list tuple namedtuple
- 对象的notify方法的含义和对象锁释放的三种情况
- Tomcat部署web项目,如何直接通过域名访问,不加项目名称
- Python 直接赋值、浅拷贝和深度拷贝解析
- 合并石子(求最小代价)
- JavaIOUtils
- msgbuf实现mtext[1]可变长代码
- 十进制转二进制
- 自定义开源控件的绘制实例-——价格区间图
- MVC中创建的数据库实体获取数据的基本语法