如题,难道使用Timer定时?

解决方案 »

  1.   

    你可以用时间差来计算啊!
       把代码块放在其中就是了.
           线程的运行的时间也是类似的
                public   static   void   testRunningTime()   {   
                       long   t1   =   System.currentTimeMillis();   
                         //   invoke   your   program   here   
                         long   t2   =   System.currentTimeMillis();   
                          System.out.println("Your   program   has   executed   for   "   
                             +   (int)((t2-t1)/1000)+   "   seconds   "     
                                +   ((t2-t1)   %   1000)   +   "   micro   seconds");   
                            }   
             至于计算程序运行时占用的内存,只能够借助软件了...........
      

  2.   

    http://topic.csdn.net/t/20031217/18/2574692.html
      

  3.   

    一个线程大约占用内存是1M左右有很多书都有相应的文章,你也可以看看《java高级网络编程》
      

  4.   


            List<Integer> list = new ArrayList<Integer>();
            long start = System.currentTimeMillis();
            for (int i = 0; i < 1000000; i++) {
                list.add(new Integer(i));
            }
            long end = System.currentTimeMillis();
            long jieguo = end - start;
            long hh = jieguo % (1000 * 60 * 60);
            long mm = jieguo % (1000 * 60);
            long ss = jieguo % 1000;
            System.out.println("hh:" + hh);
            System.out.println("mm:" + mm);
            System.out.println("ss:" + ss);
            System.out.println("毫秒:"+jieguo);
      

  5.   

    利用时间差只能计算一个任务完成的时间吧。如果中间的计算是个死循环的话,那不是要永不能结束?能不能判断出来?比如是死循环的话,超过一定时间就结束掉那个操作?内存的话是要计算具体的占用内存量,不是jvm运行环境,系统分配的初始量。
      

  6.   

    时间可以了。可以利用Timer和TimerTask设定程序(线程)的运行时间上限。
    public class compileRunTimerTask extends TimerTask{
    long timeLimited; //程序运行的最大时间限制
    long startTime; //程序开始运行的初始时间

    /**
     * @param timeLimited - 程序运行的最大时间限制
     * @param startTime - 程序开始运行时的系统时间
     */
    public compileRunTimerTask(int timeLimited,long startTime){
    this.timeLimited=timeLimited;
    this.startTime=startTime;
    }

    @Override
    public void run() {
    // TODO Auto-generated method stub
    if(System.currentTimeMillis()-startTime>timeLimited){
    //杀死线程,发送超时消息
    }
    //运行代码

    }

    }//调用Timer.schedule(task,0)就可但是java中的线程或得线程运行时内存开销还不知道。难道可以利用设置栈的大小来搞定(% java -Xss)?
    各位大牛快点现身那..........