📄 displayreadwrite.java
字号:
/********************************************************/
package concurrency.readwrite;
import concurrency.display.*;
class DisplayReadWrite implements ReadWrite {
StringCanvas display_;
ReadWrite lock_;
private int readers = 0;
private boolean writing = false;
DisplayReadWrite(StringCanvas t, ReadWrite lock) {
display_=t;
lock_=lock;
setdisplay();
}
private void setdisplay(){
display_.setString("readers= " + String.valueOf(readers)
+ " writing= " + (new Boolean(writing)).toString());
}
public void acquireRead() throws InterruptedException{
lock_.acquireRead();
++readers;
setdisplay();
}
public void releaseRead() {
lock_.releaseRead();
--readers;
setdisplay();
}
public void acquireWrite() throws InterruptedException {
lock_.acquireWrite();
writing = true;
setdisplay();
}
public void releaseWrite() {
lock_.releaseWrite();
writing = false;
setdisplay();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -