看源码的时候(AbstractQueuedSynchronizer类)if条件判断中调用的一个方法的返回类型是布尔类型,但方法体中没有返回布尔类型,这事怎么回事有知道的吗?if是否会执行?

调用下面的方法

看源码的时候(AbstractQueuedSynchronizer类)if条件判断中调用的一个方法的返回类型是布尔类型,但方法体中没有返回布尔类型,这事怎么回事有知道的吗?if是否会执行?

调用下面的方法

aqs使用的设计模式是模板方法,这些直接抛出异常的方法如果要使用,需要在子类中重写,你可以看一下一些已经实现的子类,如ReentrantLock的实现。