timer使用for循环执行多个任务,不同时间执行代码
时间: 2024-03-27 19:35:51 浏览: 10
如果您想要在循环中使用Timer来执行多个不同时间的任务,可以考虑使用数组或集合来存储每个任务的执行时间。以下是一个示例代码:
```java
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer();
int[] delays = {2000, 5000, 8000}; // 任务的延迟时间
int[] intervals = {3000, 5000, 7000}; // 任务的间隔时间
TimerTask[] tasks = new TimerTask[3]; // 任务数组
// 创建三个任务
for (int i = 0; i < 3; i++) {
final int index = i;
tasks[i] = new TimerTask() {
@Override
public void run() {
System.out.println("Task " + (index + 1) + " is running.");
}
};
}
// 使用循环执行任务
for (int i = 0; i < 3; i++) {
timer.schedule(tasks[i], delays[i], intervals[i]);
}
}
}
```
在上面的代码中,我们使用了一个循环来创建三个任务,并将它们存储在一个数组中。然后,我们再次使用循环来使用Timer对象执行每个任务。每个任务的延迟时间和间隔时间都存储在一个数组中,以便在循环中使用。
当运行上面的代码时,您将会看到以下输出:
```
Task 1 is running.
Task 2 is running.
Task 1 is running.
Task 3 is running.
Task 1 is running.
Task 2 is running.
Task 1 is running.
Task 3 is running.
Task 1 is running.
Task 2 is running.
Task 1 is running.
Task 3 is running.
...
```
您可以根据自己的实际需求调整每个任务的延迟时间和间隔时间。