Java???????????????
???????????? ???????[ 2014/5/22 11:32:36 ] ????????Java ??????????
??????????????д??
????ReentrantLock ?? ReentrantReadWriteLock
????JDK5??????ReentrantLock????????????
????1.ReentrantLock????tryLock??????tryLock?????????????????????????????????ε???tryLock???????true?????У????tryLock???????????????????false??lock()????????????
????2.????RenntrantLock?????????????boolean????????????????????????????????????????????????????????????????Ч???????Щ??????????????????Ч???????Щ??
??????????ReentrantLock?????????????unlock???????????finally??????????????£?
lock.lock();
try {
//do something
}
finally {
lock.unlock();
}
|
????ReentrantReadWriteLock??ReentrantLock???÷??????????????????readLock()??writeLock()????????????????????д????????
?????????
?????????????????????????????????jdk5?л????????????????????????????CAS?????????????????????????????????????????????????????????Ч????????????????
????AtomicInteger counter = new AtomicInteger();
????counter.incrementAndGet();
????counter.decrementAndGet();
??????????????????′?????????????????????????????????????????????????????????
public class CasCounter {
private SimulatedCAS value;
public int getValue() {
return value.getValue();
}
public int increment() {
int oldValue = value.getValue();
while (value.compareAndSwap(oldValue?? oldValue + 1) != oldValue)
oldValue = value.getValue();
return oldValue + 1;
}
}
|
?????????IBM????????????? Java ?????????: ???е????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11