📄 queueold.java
字号:
package sample;
public class QueueOld {
protected Object[] data;
protected int writeIndex;
protected int readIndex;
protected int count;
public QueueOld(int size) {
data = new Object[size];
}
public void write(Object value) {//synchronized
data[writeIndex++] = value;
System.out.println("write data is: " + value);
writeIndex %= data.length;
count += 1;
}
public void read() { //synchronized
Object value = data[readIndex++];
System.out.println("read data is: " + value);
readIndex %= data.length;
count -= 1;
}
public static void main(String[] args) {
/*
QueueOld q = new QueueOld(5);
q.write(new Integer(1));
q.write(new Integer(2));
q.write(new Integer(3));
q.write(new Integer(4));
q.write(new Integer(5));
//q.write(new Integer(5));
q.read();
q.read();
q.read();
q.read();
q.write(new Integer(5));
q.read();
q.write(new Integer(5));
*/
QueueOld q = new QueueOld(5);
new Writer(q);
new Reader(q);
}
}
class Writer implements Runnable{
QueueOld queue;
Writer(QueueOld target){
queue = target;
new Thread(this).start();
}
public void run(){
int i = 0;
while(true){
queue.write(new Integer(i));
i++;
}
}
}
class Reader implements Runnable{
QueueOld queue;
Reader(QueueOld source){
queue = source;
new Thread(this).start();
}
public void run(){
while(true){
queue.read();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -