????????????

??????????????synchronized???ε????????this????飬?????????????????????????????Щ???????????????

?????????????????????Э?????????????ReentrantLock??????????????????????????????????????ж????????????????????????м???????????????????????????????????ж?????????????????????????????????????????????????????

????ReentrantLock?????÷??

Lock lock=new ReentrantLock();
lock.lock();
try{
//????????
}finally{
 lock.unlock();
}

???????????????з???????????????????????????????μ????????????????????????????????????????????е????????????????????????????????????е???????????????????????????????

?????????????????????

????lock()???????????

?????????????б??κ????????У????????????????????????????1.

?????????????????????????У??????????????????????1.

?????????????????????????У???????????????????????????

????tryLock??time?????????????ж?????

???????????????????????б??κ?????????У??????????б??ж??????????????????true????????????1.

?????????????????????????У???????????true????????????1.

?????????????????????????У?????????????????????????????????????????

????????????????????????ж???????

??????????????????????????????У?????true??????????л??????????false

????lockInterruptibly()???????????ж?????

???????????????????????????б??ж???????????????

?????????????б??κ????????У????????????????????????????1.

?????????????????????????У??????????????????????1.

?????????????????????????У???????????????????????????????????????????

????????????????????????ж?

????tryLock()?????????????

?????????????б??κ????????????????????????true????????????1.

?????????????????????????У???????????true????????????1.

?????????????????????????У???????????false??

????unlock()???????

???????????????????????????????????? 1????????????????? 0??????????

??????????ReentrantLock?????????????????????boolean??????????????false?????????????????????????true?????????????????????

??????ν???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

????synchronized??ReentrantLock?????

?????????????synchronized??????????????????????????????ж???????????????????е??????????????ReentrantLock??

??????????д?????У????????????????е??-д?????У???ReentrantReadWriteLock.