锁池与等待池

2021-08-07196


锁池和等待池

每个对象都会有锁池和等待池

--当对象的锁被释放就会在锁池中竞争出一个线程去获得该对象的锁,并且进去runnable的状态

获取cputimeslice之后便可进入running的状态

--当线程执行完running的状态且暂时不需要调用该对象是可以调用该对象的wait()方法并释对象锁,并进入等待池

--当线程调用对象的notify,会在等待池中随机将一个线程放入该对象的锁池当中,如果调用notify'all所有在等待池中的线程都会进入锁池

--一个线程想要调用一个对象的synchronized方法,但是这个方法目前被别的线程占用,所以这个时候这个线程进入可以直接进入该对象的锁池


下一篇:Java锁