synch.java

来自「java课程的资料以及实验的代码」· Java 代码 · 共 59 行

JAVA
59
字号
class One
{ 
	void display(int num)
	{ 
		System.out.print(" "+num);
		
		try
		{ 
			Thread.sleep(1000);
		}
		catch(InterruptedException e)
		{ 
			System.out.println("中断...");
		}
		System.out.println("完成!");
	}
}

class Two implements Runnable
{ 
	int number;
	One one;
	Thread t;
	
	public Two(One one_num,int n)
	{ 
		one=one_num;
		number=n;
		t=new Thread(this);
		t.start();
	}
	public void run()
	{ 
		synchronized(one){one.display(number);}
		//one.display(number);
	}
}

public class Synch
{ 
	public static void main(String[] args)
	{ 
		One one=new One();
		int digit=10;
		
		Two s1=new Two(one,digit++);
		Two s2=new Two(one,digit++);
		Two s3=new Two(one,digit++);
		
		try
		{ 
			s1.t.join();s2.t.join();s3.t.join();
		}
		catch(InterruptedException e)
		{ 
			System.out.println("中断...");
		}
	}
}

⌨️ 快捷键说明

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