prdcons.java

来自「有关java的源程序,为讲授java程序设计课程使用」· Java 代码 · 共 68 行

JAVA
68
字号
import java.io.*;
import java.applet.*;
class Producer extends Thread
{
	private Box box;
	public Producer(Box box)
	{
		this.box=box;
	}
	public void run()
	{
		for(int i=0;i<10;i++)
		{
			box.put(i);
			System.out.println("Producer put:"+i);
			try
			{
				sleep((int)(Math.random()*100));
			}
			catch(InterruptedException e) {	}
		}
	}
}
class Consumer extends Thread
{
	private Box box;
	public Consumer(Box box)
	{
		this.box=box;
	}
	public void run()
	{
		int value;
		for(int i=0;i<10;i++)
		{ value=box.get();
		  System.out.println("Consumer got:"+value);
		}
	}
}
class Box
{
	private int contents;
	public int get()
	{  
	    return contents;
	}
	public synchronized void put(int value)
	{  
	    contents=value;
	}
}
public class  PrdCons 
{
	public static void main(String args[])
	{Box b=new Box();
	Producer p=new Producer(b);
	Consumer c=new Consumer(b);
	p.start();
	c.start();
		try
		{
			System.in.read();
		}catch(IOException e)
		{
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?