/*
停止线程:
1 stop 方法。

2 run 方法结束

怎么控制线程的任务结束?

任务中都会有循环结构(没有循环就不需要多线程了,开多线程就是怕这里循环影响其他),只要控制住循环就可以结束任务
控制循环通常就用定义标记来完成

如果线程处于了冻结状态 就无法读取标记 如何结束?
	
可以使用interrupt()方法将线程从冻结状态强制恢复到运行状态中来,让线程具有cpu的执行资格
但强制动作会发生InterruptedException 记得要处理
*/
class StopThread implements Runnable{
	private boolean flag=true;
	public void run(){
		while(flag){
			try{
				wait();
			}
			catch(InterruptedException e){
						System.out.println(Thread.currentThread().getName()+"...."+e);
			
			}
		System.out.println(Thread.currentThread().getName()+"....");	

		}
		
	}
	public void setFlag(){
			flag=false;
		}
}




class StopThreadDemo2{
	
	public static void main(String[] args) {
		StopThread st=new StopThread();

		Thread t1=new Thread(st);
		Thread t2=new Thread(st);

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

		int num=1;
		for(;;){
			if(++num==50){
				//st.setFlag();//此处将标记变为false 停止线程 
				t1.interrupt();
				t2.interrupt();
				break;
			}
			System.out.println("main..."+num);
		}

	}
}