synch2.java

来自「java 数据结构的一些简单实例和一些线程的应用主要是面向初学者」· Java 代码 · 共 63 行

JAVA
63
字号
class Callme
{
    void call(String msg)
	{
		System.out.println("["+msg);
		try
		{
			Thread.sleep(10000);
		}
		catch(InterruptedException e)
		{
			System.out.print("Interrupted");
		}
		
		System.out.print("]");
	}
}

class Caller implements Runnable
{
	String msg;
	Callme target;
	Thread t;
	
	public Caller(Callme targ,String s)
	{
		target=targ;
		msg=s;
		t=new Thread(this);
		t.start();
	}
	
	public void run()
	{
		synchronized (target)
		{
		target.call(msg);
		}
	}
}

public class Synch2
{
      public static void main(String args[])
      {
    	  Callme target=new Callme();
    	  Caller ob1=new Caller(target,"hello");
    	  Caller ob2=new Caller(target,"Synchronized");
    	  Caller ob3=new Caller(target,"World");
    	  
    	  try
    	  {
    		  ob1.t.join();
    		  ob2.t.join();
    		  ob3.t.join();
    	  }
    	  catch(InterruptedException e)
    	  {
    		  System.out.println("Interrupted");
    	  }
      }
}

⌨️ 快捷键说明

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