编写程序,建立两个线程a和b,a线程每隔0.1s输出一个'a',共输出10个'a';b线程每隔0.2s输出一个b,共输出10个。
时间: 2024-02-15 13:04:15 浏览: 68
可以使用 Java 中的 Timer 和 TimerTask 来实现以上需求,具体步骤如下:
1. 创建两个 TimerTask 的子类,一个用于输出'a',一个用于输出'b'。
2. 在子类中重写 run() 方法,在其中编写输出字符的代码。
3. 在主程序中创建两个 Timer 对象,并将 TimerTask 的子类作为参数传递给 Timer 对象的 schedule() 方法,设定输出时间间隔和次数。
下面是示例代码:
```java
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerTaskA extends TimerTask {
private int count = 0;
public void run() {
count++;
System.out.print("a");
if (count >= 10) {
cancel();
}
}
public static void main(String[] args) {
Timer timerA = new Timer();
TimerTask taskA = new MyTimerTaskA();
timerA.schedule(taskA, 0, 100);
Timer timerB = new Timer();
TimerTask taskB = new TimerTask() {
private int count = 0;
public void run() {
count++;
System.out.print("b");
if (count >= 10) {
cancel();
}
}
};
timerB.schedule(taskB, 0, 200);
}
}
```
运行以上代码,会输出 "aaaaaaaaaabbbbbbbbbb",说明两个线程已经被成功执行。
阅读全文