前端定时任务1秒执行最小间隔,与后端1秒执行最小间隔

前端页面中就是是单线程的,一秒可执行250次,一条定时任务需要4秒执行完成

测试代码如下




    
    Title


结果:

后端用Timer做定时任务,统计到一秒是500到600次,这个应该是2秒左右执行一次,估计一代码复杂度有关,也不确定是具体什么原因,有朋友说与上下文切换还有IO开销有关,不过我感觉这不是主要原因,以后在研究一下

测试代码:

import java.util.Timer;
import java.util.TimerTask;

public class Main {
    static int i=0;
    public static void main(String[] args) {
        new Timer("testTimer").schedule(new TimerTask() {
            @Override
            public void run() {
                DateTime();
            }
        }, 1000,1);
        new Timer("testTimer1").schedule(new TimerTask() {
            @Override
            public void run() {
                DateTimenum();
            }
        }, 1000,1000);
    }
    public static long DateTimenum(){
        try {
            System.out.println("i==="+i);
            return i;
        } finally {
            i=0;
        }
    }

    public static void DateTime(){
        i++;
    }
}

结果:

前端定时任务1秒执行最小间隔,与后端1秒执行最小间隔_第1张图片

感觉后端的测试才是不准确,完了换几个方法再试试

你可能感兴趣的:(java)