java编写有三个不同优先级线程的程序,三个线程分别输出10个a、b、c,每输出一个停(sleep)50毫秒
时间: 2024-02-23 13:58:07 浏览: 24
以下是一个使用 Java 语言实现的三个不同优先级线程的程序:
```java
public class MyThread implements Runnable {
private String name;
private int priority;
public MyThread(String name, int priority) {
this.name = name;
this.priority = priority;
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(name);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
Thread t1 = new Thread(new MyThread("a", 1));
Thread t2 = new Thread(new MyThread("b", 2));
Thread t3 = new Thread(new MyThread("c", 3));
t1.setPriority(1);
t2.setPriority(2);
t3.setPriority(3);
t1.start();
t2.start();
t3.start();
}
}
```
这个程序中定义了一个名为 `MyThread` 的线程类,该类实现了 `Runnable` 接口,并重写了 `run` 方法。在 `run` 方法中,线程将会输出其名称,并停止 50 毫秒。在主程序中,我们创建了三个线程,分别代表输出 "a"、"b" 和 "c",并分别设置了不同的优先级。最后,我们启动这三个线程。由于线程调度的不确定性,每个线程的输出顺序可能会不同。