0
我無法弄清楚如何做到這一點。我有這樣的約束:同步讀取變量
- 最多5個線程同時可以讀取一個變量,其他必須保持在等待直到變量可以再次被讀取。
public void methodA() {
lockI.lock();
try {
while (countIreaders == 5 || modify) {
conditionI.await();
}
countIreaders++;
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
if (condition) {
countIreaders = 0;
lockI.unlock();
conditionI.notifyAll();
} else {
lockI.unlock();
}
}
}
有了這個代碼,我做了連載,但它不是我想要達到的目標。我如何修改代碼?
爲什麼在終止塊中將'countIreaders'設置爲0? – yunandtidus 2014-10-17 14:57:01
我不明白。 – 2014-10-17 14:58:03
你能否澄清爲什麼它關係到有多少讀者正在閱讀? – Arkadiy 2014-10-17 14:58:25