在java中,对象是是资源,可以被锁住,当 synchorinzed 关键字修饰代码块的时候,线程想获得这个资源的时候,需要先获得锁,拿到锁之后才能访问这块代码块,而锁在同一时间只能被一个线程持有,此时若有其他线程来访问此代码块时,需要通知他进入堵塞队列。
通知其他线程的进入堵塞队列,应该是由资源去向其他线程通知,而不是线程去通知其他线程。
所以wait()和notify()方法声明在object中
注意:wait()和notify()是线程间的通讯方法
本文解析了Java中对象锁机制,阐述了`synchronized`关键字的用法,以及`wait()`和`notify()`方法在多线程通信中的作用,强调了它们作为线程间协作的核心组件。
在java中,对象是是资源,可以被锁住,当 synchorinzed 关键字修饰代码块的时候,线程想获得这个资源的时候,需要先获得锁,拿到锁之后才能访问这块代码块,而锁在同一时间只能被一个线程持有,此时若有其他线程来访问此代码块时,需要通知他进入堵塞队列。
通知其他线程的进入堵塞队列,应该是由资源去向其他线程通知,而不是线程去通知其他线程。
所以wait()和notify()方法声明在object中
注意:wait()和notify()是线程间的通讯方法
968
1304

被折叠的 条评论
为什么被折叠?