Timer 嵌套的调用

问题描述

在JDK1.4下的环境中,根据1000ms内接收的信息数量来决定是否立即刷新还是延迟刷新,主要原因是如果每次接到消息都即时刷新屏幕的话,就会死机,(特别是当一下子接收到几百上千的消息时).if(message.trim().startsWith(ContactsEntry.CONTACT_RECEIVED_MESSGAE_PREFIX)){//System.out.println("ThecontactTimer"+(null==contactTimer)+",ThecontactReloadTimer"+(null==contactReloadTimer));messageCount++;if(null==contactTimer){contactTimer=newTimer();}contactTask=newTimerTask(){publicvoidrun(){intsize=recieveInterval/(messageCount*avageTime);System.out.println("************Thesizeis"+size+",ThemessageCountis****************"+messageCount);if(size<3){rightNowReload=false;}else{rightNowReload=true;}//-----------------------------根据rightNowReload判断是否立即加载-----------------------------------------if(rightNowReload){System.out.println(".........rightNowReload.........");GetPersonList.handleRecivedMessage(message);rightNowReload=false;messageCount=0;contactTimer.cancel();contactTimer=null;}else{if(null==contactReloadTimer){contactReloadTimer=newTimer();}timerTask=newTimerTask(){publicvoidrun(){System.out.println(".........NotrightNowReload............");GetPersonList.handleRecivedMessage(message);rightNowReload=false;messageCount=0;contactTimer.cancel();contactTimer=null;contactReloadTimer.cancel();contactReloadTimer=null;}};contactReloadTimer.schedule(timerTask,queryInterval);}//contactTimer.cancel();//contactTimer=null;//messageCount=0;}};contactTimer.schedule(contactTask,recieveInterval);以上代码是有问题的,望大神们能给予建议或者好的方案

解决方案

解决方案二:
没有格式看起来真是。。。。每次刷新卡死就每XX条刷新一次建议你去java板块问

时间: 2024-11-08 19:54:46

Timer 嵌套的调用的相关文章

session-在java timer定时器中调用dao层会报错

问题描述 在java timer定时器中调用dao层会报错 现在在做一个web项目,使用spring+springMVC+hibernate框架, 问题描述: 项目中有一个扫描的功能,分即时任务.定时任务.周期任务三种,即时任务已经实现了,现在使用java.util.Timer.java.util.TimerTask类做定时任务,重写TimerTask的run方法,在run方法中调用之前已经没有问题的即时任务扫描方法.每次运行定时任务时,会卡在dao层方法的调用上,因为在即时任务的扫描方法中调用

vb-请问怎么实现一个操作环境的嵌套和调用的功能

问题描述 请问怎么实现一个操作环境的嵌套和调用的功能 VB 6.0怎么样在窗口内嵌入一个操作环境,使得别的程序只能在这个操作环境之内进行操作? 解决方案 用shell函数执行目标程序,然后查找窗口句柄作为你的程序的子窗口运行.

Fragment 多层嵌套方法调用问题的解决方案_Android

Fragment的产生与介绍 Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的.难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊.Fragment的出现就是为了解决这样的问题.你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,更帅气的是Fragment拥有自己的生

Fragment 多层嵌套方法调用问题的解决方案

Fragment的产生与介绍 Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的.难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊.Fragment的出现就是为了解决这样的问题.你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,更帅气的是Fragment拥有自己的生

方法嵌套执行-方法嵌套调用,在嵌套方法执行结束执行方法嵌套调用

问题描述 方法嵌套调用,在嵌套方法执行结束执行方法嵌套调用 方法嵌套调用,在嵌套方法执行结束执行方法嵌套调用,在嵌套方法执行结束执行,主方法就执行完了,导致错误 解决方案 ?????? 方法可以返回对象的调用.基本数据类型或不返回任何值.例如,System.out.println():System.out.println()位于java.lang包中,它描述了Java所在系统的特有行为.System.out是一个类变量,它存储了PrintStream类的一个实例.该PrintStream对象表示

mfc-MFC:主界面调用子界面,子界面OnOk异常

问题描述 MFC:主界面调用子界面,子界面OnOk异常 我在主界面的OnInitDialog里面写了一个: mainDlg.cpp: BOOL CMainDlg::OnInitDialog() { ........ if (m_LogonDlg.DoModal() != IDOK) { exit(1); } //成功后做其他操作 } LogonDlg.cpp: 当我点击登陆界面的ok的时候,触发了OnBnClickedOk,发送了一个请求登陆的消息给OnSendMessage去处理,OnSend

Community Server专题七: Job &amp; Timer

server 在CSHttpModule.cs文件中的Init方法下有这样一行: 接着在Dispose方法中还有这么一行: Job?什么是Job,在CS运行过程中有什么用途,又是如何运行的?这篇专题将叙述Job的工作流程. 你可以这里理解CS中的Job:"干一些零碎事情的钟点工". 讲解之前要先了解一个接口:IDisposable,MSDN是这样定义的:定义一种释放分配的非托管资源的方法.当托管对象不再使用时,垃圾回收器会自动释放分配给该对象的内存,不过,进行垃圾回收的时间不可预知.另

J2ME Timer 使用指南

J2SE 1.3 里有一项新的改进,那就是提供了一个可以更简单的实现多任务调度执行的定时器类,调度由一个后台线程完成. MIDP 同样也包含了这一改进,使得 J2ME 开发人员从中受益. J2ME 提示了两个类用来定义和调试任务, 他们分别是 TimerTask 和 Timer.TimerTask 是用户定义的需要被调度的所有任务的抽象基类.Timer 类在任务执行的时候负责创建和管理执行线程. 要定义一个任务,定义一个 TimerTask 的子类,并实现 run 方法.例如 import ja

Timer与TimerTask的真正原理&amp;amp;使用介绍

其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样: Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("abc"); } }, 200000 , 1000); 这里直接实现一个TimerTask(当然,你可以实现多个TimerTask,多个Ti