<%! 
private int nextRuntime = 0;//该字段记录该脚本的下次运行时间. private synchronized void run(){
//获取当前时间除以1000后对应的int值
int timestamp = (int)(Calendar.getInstance().getTimeInMillis()/1000);
if(timestamp>=nextRuntime){
//...........
//执行逻辑
//。。
//getTomorrowTime()获取明天0点0分0秒。该值为正常获取明天0点0分0秒0毫秒后除以1000后获取
nextRuntime = getTomorrowTime()
}
}
%>
<%
run(request,response,application);
%>
以上代码是在 jsp 中写的.本认为在一天之内只能执行一次 if 语句中的内容.现在却在执行了两次.
不知到为什么.请高人指点

解决方案 »

  1.   

    不是1楼说的问题
    修改:<%    
        run();
    %>
      

  2.   

    哦,我看到了getTomorrowTime()是不是处于1000出了问题,你把timestamp,nextRuntime这2个值输出,看看值是多少
      

  3.   

    多线程来访问是有可能让if中的代码被执行多次(不能确定具体是多少次)的
    比如都执行到private int nextRuntime = 0;然后时间片完了
    然后下个线程执行
    那么这些线程在下次执行的时候都认为 nextRuntime = 0,所以就执行run()了
      

  4.   

    tomcat对于请求是以多线程的方式提供服务的,每来一个请求,开辟一个线程
      

  5.   

    jsp/servlet本身就是多线程的,不是线程安全的 在jsp/servlet里面声明实例变量是极其危险的行为- -! 想问一下 你的这个是多线程么?不要以为有run方法就是多线程了。况且多线程是用start方法启动的,而不是run
      

  6.   

    不是jsp/servlet本身就是多线程的……
    而是Web服务器是以多线程的方式提供服务的,就是对于一个请求,服务求都会开辟一个线程提供服务
    “在jsp/servlet里面声明实例变量是极其危险的行为”是对的
      

  7.   

    Web服务器是以多线程的方式提供服务的,就是对于一个请求,服务求都会开辟一个线程提供服务,tomcat对于请求是以多线程的方式提供服务的,每来一个请求,开辟一个线程
      

  8.   

    事情的起因是源于下面这样的一则广告贴(目前幸运还没有被删除,可以链接成功): 
    http://topic.csdn.net/u/20081028/15/525f32df-6c53-4b46-b847-f04c6fc1faf4.html 事情的发展是在这个贴: 我在移动平台专区被封权限是为什么?这个要找谁? 
    http://topic.csdn.net/u/20081118/08/cf7d0af3-35cc-4fb7-9dc2-4567041b89e5.html?seed=1367941736 事情的最新进展是这样的: [抗议]对硬件/嵌入开发的某些版主武断,简单,粗暴的执法方式表示严重的抗议!  
    http://topic.csdn.net/u/20081119/11/bda8bc5d-98d0-45ee-a1c1-86209d7f121d.html?seed=1457200066 当小贩被野蛮城管打死后之CSDN版 
    http://topic.csdn.net/u/20081120/09/8af968cb-af00-4ddb-8604-dab1fb5421be.html?seed=613093649 我重申一下,我一直不是在为我发广告贴辩护,我是在为处理此事的过程中受到的不合理对待即wxf0204 武断,简单,粗暴加野蛮的方式执法的行为,就我看跟城官差不多,对残踏我作为CSDN网友尊严,无视我作为CSDN网友存在的言行进行回击,悍卫我作为CSDN网友所具有的最基本的权利,而且之前连一个申诉的地方都没有,也没有找到班主封ID,删除留言的规定!别人城管也不会第一次去执法看到有小贩就直接打死,也会先劝导,就第一次收了别人小贩的东西也会开个条说一下情况,开个清单,收了什么,什么时候来取,要受到何种处罚,你们这帮斑猪不通人性,看到小贩直接毙了,之前之后,不声不响,不闻不问,不通人性,比城管还城管...................
    而且还不知反省,以暴抑暴,导致事件恶性循环!大家注意抗议的主题,不是对删除贴子,封ID有异议,对此贴前已经说的很清楚,现在的问题是抗议某些斑猪或者大部分斑猪在处理此事时粗暴的方式,野蛮的态度,狭隘的思想,如果在封ID之前给予警告,封ID之后对被封ID用户说明情况如确认被封的具体原因,封的时间以及当前所犯事件的严重程度等,事情何以至此,现在某些斑主为撑面子,继续执迷不悟,一点服务意识都没有,只会摆淫威! 再者跟城管没得比,别人城管之前还有警告,收了东西之后还要开个单子,通知什么时候去取回,有什么处罚,你们的粗野方式就是直接毙了,一了百了,跟原始人一样,难不成CSDN都是这样,真没人性化,我看别的论坛都是有流程,有说明,有警告,有通知!而且应该还有申诉的渠道,不能一手遮天,一毙完事,一点服务意识都没有,只会摆淫威! 
    知会一下,举手之劳,别的论坛都这么做......你们不这么做就是不通人性.........你自己想下,你这样野蛮,我为何要惧怕你的淫威,你以为你是谁,做错事直接闷棍打死,真正怎么死的都不知,...........不给没有前科的人以任何机会,手段之残忍,心恨之至极...........令人发指........让人不服,还不让辩解.....................,一点服务意识都没有,只会摆淫威 
    一点服务意识都没有,只会摆淫威