ex_11_4_1.java

来自「JAVA程序设计与实践.rar」· Java 代码 · 共 65 行

JAVA
65
字号
/*
 *文件名:ex_11_4_1.java
 *说  明:一个错误的生产者/消费者程序
 */

class Q
{
	int n;
	synchronized int get() 
	{
		System.out.println("Got: " + n);
		return n;
	}
	synchronized void put(int n) 
	{
		this.n = n;
		System.out.println("Put: " + n);
	}
}
// 生产者类
class Producer implements Runnable
{
	Q q;
	Producer(Q q) 
	{
		this.q = q;
		new Thread(this, "Producer").start();
	}
	public void run() 
	{
		int i = 0;
		while(true) 
		{
			q.put(i++);
		}
	}
}
// 消费者
class Consumer implements Runnable
{
	Q q;
	Consumer(Q q) 
	{
		this.q = q;
		new Thread(this, "Consumer").start();
	}
	public void run() 
	{
		while(true) 
		{
			q.get();
		}
	}
}
// 主类
class PC
{
	public static void main(String args[]) 
	{
		Q q = new Q();
		new Producer(q);
		new Consumer(q);
		System.out.println("Press Control-C to stop.");
	}
}

⌨️ 快捷键说明

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