我要在线程里建一个循环,要求里面的内容每2小时执行一次
是这样写的,但每次都打不开页面
一旦把while那一段去掉,页面就正常了,是怎么回事?public class timeCon extends Thread {
@Override
public void run(){
dbset.ljjk=true;/*
while(true){
try{
Thread.sleep(3000);//72000000);
}
catch(Exception e){
}
}
}
}
是这样写的,但每次都打不开页面
一旦把while那一段去掉,页面就正常了,是怎么回事?public class timeCon extends Thread {
@Override
public void run(){
dbset.ljjk=true;/*
while(true){
try{
Thread.sleep(3000);//72000000);
}
catch(Exception e){
}
}
}
}
解决方案 »
- <marquee 标签在IE8下出现显示不对
- 明明有的,</form>找不到配对标签
- JSF表格中如何获得用户的输入值
- 在hibernate中的查找某一条记录会用到get,load,但如果查找不到,会抛出异常,我能否告诉网友,查找不到呢?
- 有关jsp和access,sqlserver的问题
- 如何实现应用程序生成的报表在WEB上发表??
- Spring菜鸟请问
- 请大家给出程序中常见的英文错误提示。(中英文对照)
- jsp+excel的中文显示!!!
- 新手:一个form中2个submit,404错误:No result defined for action
- 是不是JSP中不可以出现两次字符编码转换?
- 面试了很多公司,都是有面试,没有消息.
死循环了啊 没结束的时候了
要while里的内容每两小时执行一次,不能退出
Thread.sleep(3000);//72000000);
我的程序里线程睡眠后要做事情的,只是为了方便,没写出来现在的关键是打不开调用他的页面,这是为什么?并且dbset.ljjk=true;这一句可以肯定是执行了,在其它页面可以判断出来。还有,只要把while删了,页面就能打开。
线程不是并发执行的吗?
new timeCon().run();
了,这样,如果这个线程不终止,那么下一个语句一直不会执行,当然也就不会返回了你应该用
new timeCon().start() 来启动
这时此线程是处于就绪状态,
并没有运行。
然后通过此Thread类调用方法run()来完成其运行操作的,
这里方法run()称为线程体,
它包含了要执行的这个线程的内容,
Run方法运行结束,
此线程终止,
而CPU再运行其它线程, 而如果直接用Run方法,
这只是调用一个方法而已,
程序中依然只有主线程--这一个线程,
其程序执行路径还是只有一条,
这样就没有达到写线程的目的。 自己baidu到原因了..哈.lz也看下~