java中多线程的了解

目前又复习了一下java多线程,网上的博客很多,很杂,目前看到的最好的博客如下
Java多线程系列目录(共43篇)

JAVA多线程之wait/notify

而关于object对象中的wait和notify,看到的最经典的总结
1.当线程执行wait()时,会把当前的锁释放,然后让出CPU,进入等待状态。
2.当执行notify/notifyAll方法时,会唤醒一个处于等待该 对象锁 的线程,然后继续往下执行,直到执行完退出对象锁锁住的区域(synchronized修饰的代码块)后再释放锁。
3.说wait()的作用是让“当前线程”等待,而“当前线程”是指正在cpu上运行的线程!
4.wait notify 针对的是该线程占用的锁对象来说的吧,也就是notify的时候,会把阻塞在该线程占用的锁对象上的线程进行唤醒吧
5.wait() 与 notify/notifyAll()都是放在同步代码块中才能够执行的。如果在执行wait() 与 notify/notifyAll() 之前没有获得相应的对象锁,就会抛出:java.lang.IllegalMonitorStateException异常

猜你喜欢

转载自blog.csdn.net/zhouchaoqiang/article/details/78294417