什么是锁池?什么是等待池?以及sleep,和wait的区别是什么?
继续上面的例子,如果电影院的售票窗口关闭了,正在排队的人(持有锁的线程)会告诉其他人“请等待,我需要休息一下”。其他想要买票的人(其他线程)可以继续排队,但不能买票,直到这个人(持有锁的线程)从休息区回来。假设你正在做家务,你决定休息一下,于是你告诉你的家人“我要休息10分钟”。假设你正在和你的家人玩一个游戏,你告诉他们“我需要等待,直到轮到我”。当一个线程获得了锁(比如进入了一个同步方法或代码块),其他线程就必须等待,直到这个线程释放锁。方法时,它会释放对象的锁,并进入对象的等待池。
原创
2024-06-01 08:51:07 ·
454 阅读 ·
1 评论