⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buffer.java

📁 信号量和同步方法,java开发,非常实用的初级入门程序
💻 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 + -