jointest.java

来自「linux下编程用 编译软件」· Java 代码 · 共 78 行

JAVA
78
字号
public class JoinTest  implements Runnable{  public static int count = 0;  void send()    throws Exception    {      Thread.sleep(2000);      System.out.println("PASSED: Sender completed");    }  void receive()    throws Exception    {      synchronized(this) {	notifyAll();      }      Thread.sleep(5000);      count++;      System.out.println("PASSED: Receiver completed");    }  public void run()    {      String name = Thread.currentThread().getName();      if (name.equals("timer")) {	try {	  Thread.sleep(10000);	} catch (InterruptedException e){}	System.out.println("FAILED: timer triggered");	System.exit(1);      }      try {	receive();      } catch (Exception e) {	System.out.println("FAILED: receiver: " + e);	System.exit(1);      }    }  public static void main(String args[])    {      try {	JoinTest sender =	  new JoinTest();	JoinTest receiver =	  new JoinTest();	Thread receiver_thread = new Thread(receiver);	/* Make sure the test terminates even if it hangs on network */	JoinTest timer = new JoinTest();	Thread timer_thread = new Thread(timer, "timer");	timer_thread.start();	synchronized(receiver) {	  receiver_thread.start();	  receiver.wait();	}	try {	  sender.send();	} catch (Exception e) {	  System.out.println("FAILED: sender: " + e);	  System.exit(1);	}	receiver_thread.join();	  	if (0 == count)	  throw new Exception("Nothing received");	System.out.println("PASSED: Join send/receive count="+count);	System.exit(0);      } catch (Exception e) {	System.out.println("FAILED: " + e);	System.exit(1);      }    }}

⌨️ 快捷键说明

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