public static void main(String[] args) { Timer timer = new Timer(); TimerTask task = new TimerTask() { private boolean flag = true; @Override public void run() { if (flag) { // 调用function1()函数 function1(); } else { // 调用function2()函数 function2(); } flag = !flag; // 切换标志位 } }; timer.scheduleAtFixedRate(task, 0, 50); } 如果function1需要100ms才执行结束,那么50ms后会等待function1执行完毕吗
时间: 2024-02-10 07:29:14 浏览: 163
C#中static void Main(string[] args) 参数示例详解
不会等待function1执行完毕。根据代码逻辑,每50ms就会执行一次TimerTask中的run方法。如果function1需要100ms才能执行完毕,那么在50ms后,TimerTask会立即调用function2,而不会等待function1执行完毕。所以在这种情况下,function1和function2会交替执行。
阅读全文