java線程間通信

/*
線程間通信:
其實就是多個線程在操作同一個資源。
但是操作的動作不同
*/

class Res
{
	String name;
	String sex;
}

class Input implements Runnable
{
	private Res r;
	Input(Res r)
	{
		this.r = r;
	}
	public void run()
	{	
		int x = 0;
		while(true)
		{
			if(x==0)
			{
				r.name = "mike";
				r.sex = "man";
			}
			else
			{
				r.name = "lili";
				r.sex = "women";
			}
			x=(x+1)%2;
		}
	}
}

class Output implements Runnable
{
	private Res r;
	Output(Res r)
	{
		this.r = r;
	}
	public void run()
	{
		while(true)
		{
			System.out.println(r.name+"..."+r.sex);
		}
	}
}
class Test_12_1
{
	public static void main(String[] args)
	{
		System.out.println("Hello Wolrd");
		Res r = new Res();
		Input in = new Input(r);
		Output out = new Output(r);

		Thread t1 = new Thread(in);
		Thread t2 = new Thread(out);

		t1.start();
		t2.start();
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章