example9_16.java

来自「不错的教程 适合中高级人员的使用」· Java 代码 · 共 65 行

JAVA
65
字号


class MyThread extends Thread
{  int i=0;
  
   public void run()
   {  while(true)
	   {i++;
        System.out.println("我的名字是"+getName()+"i="+i);
        if(i==10)
		   {try{挂起线程();}
		   catch (Exception e) { }
		}
		try{Thread.sleep(1000);}
		catch(Exception e){}
   }
} 
public synchronized void 挂起线程() throws InterruptedException
	{
	wait();
  } 
public synchronized void 恢复线程()
	{
	notifyAll();
  } 
}

class YourThread extends Thread
{
	int m=0;
	MyThread otherThread;
	YourThread(MyThread a)
	{otherThread=a;}
	public void run()
	{
		while(true)
		{
			m++;
			System.out.println("我的名字是"+getName()+"m="+m);
			if(m==20)
			{
				System.out.println("恢复线程:"+otherThread.getName());
				System.out.println( getName()+"停止工作");
				try{otherThread.恢复线程();}
				catch(Exception e){}
				return;
			}
			try{Thread.sleep(1000);}
			catch(Exception e){}
		}
	}
}

public class Example9_16
{
	public static void main(String args[])
   {  MyThread thread1=new MyThread();
	  thread1.setName("张三");
	  thread1.start();
	  YourThread thread2=new YourThread(thread1);
	  thread2.setName("李四");
	  thread2.start();
}
}

⌨️ 快捷键说明

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