我要在线程里建一个循环,要求里面的内容每2小时执行一次
是这样写的,但每次都打不开页面
一旦把while那一段去掉,页面就正常了,是怎么回事?public class timeCon extends Thread {    
    @Override
    public void run(){
        dbset.ljjk=true;/*
        while(true){
            try{
                Thread.sleep(3000);//72000000);
            }
            catch(Exception e){                   
            }   
            
            }       
    }
}

解决方案 »

  1.   

    while(true){ 
    死循环了啊 没结束的时候了
      

  2.   

    呵呵,你到了时间也没有什么操作啊,循环还在进行中。break跳出吧!
      

  3.   

    我的目的就是要循环不退出啊
    要while里的内容每两小时执行一次,不能退出
      

  4.   

    我想知道他真的睡了3000秒吗.
    Thread.sleep(3000);//72000000); 
      

  5.   

    我知道
    我的程序里线程睡眠后要做事情的,只是为了方便,没写出来现在的关键是打不开调用他的页面,这是为什么?并且dbset.ljjk=true;这一句可以肯定是执行了,在其它页面可以判断出来。还有,只要把while删了,页面就能打开。
    线程不是并发执行的吗?
      

  6.   

    我没看到你的所谓的页面是怎么样使用这个类的。至于你说的一直死循环,我估计你是直接的
    new timeCon().run(); 
    了,这样,如果这个线程不终止,那么下一个语句一直不会执行,当然也就不会返回了你应该用
    new timeCon().start() 来启动
      

  7.   

    还是老紫竹厉害嘛...能说下run()和start()的区别么?
      

  8.   

    通过调用Thread类的start()方法来启动一个线程, 
    这时此线程是处于就绪状态, 
    并没有运行。 
    然后通过此Thread类调用方法run()来完成其运行操作的, 
    这里方法run()称为线程体, 
    它包含了要执行的这个线程的内容, 
    Run方法运行结束, 
    此线程终止, 
    而CPU再运行其它线程, 而如果直接用Run方法, 
    这只是调用一个方法而已, 
    程序中依然只有主线程--这一个线程, 
    其程序执行路径还是只有一条, 
    这样就没有达到写线程的目的。 自己baidu到原因了..哈.lz也看下~
      

  9.   

    写了一个简单的数据库连接池,自已没发现什么问题,不知道行不行上,大家给看一下  http://topic.csdn.net/u/20080413/10/6cf0fe34-6572-4d05-a208-f6c9c31fe745.html?seed=926975699