请教一个线程的问题,递归和死循环的问题
public   void   run(){ 
 		try   {								for(int   i=0;i <1000000;i++){					System.out.println( "操作中... "); 
 				}				 
 				Thread.sleep(5000); 
 				run(); 
 		}   catch   (InterruptedException   e)   {			 
 			e.printStackTrace(); 
 		} 
 	}     
 ------------------------------------------------------     
 public   void   run(){ 
 		try   { 
 			while(true){ 
 								for(int   i=0;i <1000000;i++){					System.out.println( "操作中... "); 
 				}				 
 				Thread.sleep(5000);			} 
 		}   catch   (InterruptedException   e)   {			 
 			e.printStackTrace(); 
 		} 
 	}     
 这两种写法哪个好一些,有没有会造成死机的可能,还有没有更好的方法?     
 我想让这个程序在做完了一件事情之后,休息5秒钟再重复做这样一个事情,比如数到数据库里面查看有多少帖子是新发的
------解决方案--------------------boolean stop = false;   
 public void run(){ 
    while( !stop ){ 
       try{ 
           doSomething(); 
           Thread.sleep(5000); 
       }catch(Throwable t){ 
           t.printstacktrace(); 
       } 
    } 
 }
------解决方案--------------------递归不要用,无论是在哪里,更何况你还用在线程里面,这不是找死吗??? 
 按你所说的 
 我想让这个程序在做完了一件事情之后,休息5秒钟再重复做这样一个事情 
 可以按楼上hellking(信息孤岛) 这位朋友的思路去做,而且还可对stop 提供set和get方法,那么你就可以在外面人为的控制循环了......