黑马程序员技术交流社区

标题: 多线程问题 关于sleep方法 [打印本页]

作者: 仲伟    时间: 2013-5-11 22:51
标题: 多线程问题 关于sleep方法
本帖最后由 仲伟 于 2013-5-12 20:06 编辑

thread.sleep(1000*7)
这个不是让线程睡眠7秒吗?
我现在现在睡到5秒时叫醒这个线程,怎么办
作者: Super_Class    时间: 2013-5-11 23:57
使用定时器吧。
  1. import java.util.Timer;
  2. import java.util.TimerTask;

  3. public class TraditionalTimerTest {
  4.        
  5.         //private static int count = 0;
  6.         public static void main(String []args){
  7. /*                new Timer().schedule(new TimerTask() {
  8.                        
  9.                         @Override
  10.                         public void run() {
  11.                                 System.out.println("Bombing");
  12.                         }
  13.                 }, 10000,3000);
  14.                 */
  15.                 /*class myTimerTask extends TimerTask{
  16.                
  17.                                
  18.                                 @Override
  19.                                 public void run() {
  20.                                         count = (count+1)%2;
  21.                                         // TODO Auto-generated method stub
  22.                                         System.out.println("Bombing1");
  23.                                         new Timer().schedule(new TimerTask() {
  24.                                                
  25.                                                 @Override
  26.                                                 public void run() {
  27.                                                         // TODO Auto-generated method stub
  28.                                                         System.out.println("Bombing2");
  29.                                                 }
  30.                                         }new myTimerTask(), 2000+2000*count);
  31.                                 }
  32.                        
  33.                 }
  34.                
  35.                
  36.                 new Timer().schedule(new myTimerTask(), 2000);*/
  37.                
  38.                
  39.                
  40.                 class myTimerTask1 extends TimerTask{
  41.                         @Override
  42.                         public void run() {
  43.                                 // TODO Auto-generated method stub
  44.                                 System.out.println("Bombing");
  45.                                 new Timer().schedule(new TimerTask(){

  46.                                         @Override
  47.                                         public void run() {
  48.                                                 System.out.println("Bombing");
  49.                                                 // TODO Auto-generated method stub
  50.                                                 new Timer().schedule(new myTimerTask1(), 2000);
  51.                                         }
  52.                                        
  53.                                 }, 4000);
  54.                         }
  55.                 }
  56.                
  57.                 new Timer().schedule(new myTimerTask1(), 2000);
  58.                
  59.                
  60.                 Thread thread = new Thread(new Runnable() {
  61.                
  62.                        
  63.                        
  64.                         @Override
  65.                         public void run() {
  66.                        
  67.                                 while(true){
  68.                                        
  69.                         //                System.out.println(new Date().getSeconds());
  70.                                         try {
  71.                                                 Thread.sleep(1000l);
  72.                                         } catch (Exception e) {
  73.                                                 // TODO Auto-generated catch block
  74.                                                 e.printStackTrace();
  75.                                         }
  76.                                        
  77.                                 }
  78.                         }
  79.                 });
  80.                
  81.                 thread.start();
  82.         }
  83. }
复制代码

作者: 仲伟    时间: 2013-5-12 12:01
我就想用方法,像这种stop()




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2