📄 buffer.java
字号:
public class Buffer
{
private int value;
private boolean isEmpty=true;
public synchronized void put(int i)
{
while(!isEmpty)
{
try
{
this.wait();
}
catch(InterruptedException e)
{
}
}
value=i;
isEmpty=false;
notifyAll();
}
public synchronized int get()
{
while(isEmpty)
{
try
{
this.wait();
}
catch(InterruptedException e)
{
}
}
isEmpty=true;
notifyAll();
return value;
}
}
class Sender extends Thread
{
private Buffer bf;
public Sender(Buffer bf)
{
this.bf=bf;
}
public void run()
{
for (int i=1;i<6;i++)
{
bf.put(i);
System.out.println ("Sender put:"+i);
try{
Sender.sleep(3);
}
catch(InterruptedException e){}
}
}
}
class Receiver extends Thread
{
private Buffer bf;
public Receiver(Buffer bf)
{
this.bf=bf;
}
public void run()
{
while(true)
for (int i = 1; i<6; i++)
{
System.out.println ("\t\t\tReceiver get:"+bf.get());
try{
Receiver.sleep(3);
}
catch(InterruptedException e){}
}
}
public static void main (String[] args)
{
Buffer bf=new Buffer();
(new Sender(bf)).start();
(new Receiver(bf)).start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -