java 编写有三个不同优先级线程的程序,三个线程分别输出10个a、b、c,每输出一个停(sleep)50毫秒
时间: 2024-02-23 12:58:04 浏览: 63
好的,以下是一个使用 Java 语言编写的示例程序,其中创建了三个线程,分别输出 10 个 a、b、c。
```java
public class PriorityThreadExample {
public static void main(String[] args) {
Thread t1 = new Thread(new PrintCharTask("a", 10), "Thread-1");
Thread t2 = new Thread(new PrintCharTask("b", 10), "Thread-2");
Thread t3 = new Thread(new PrintCharTask("c", 10), "Thread-3");
// 设置优先级
t1.setPriority(Thread.MAX_PRIORITY);
t2.setPriority(Thread.NORM_PRIORITY);
t3.setPriority(Thread.MIN_PRIORITY);
t1.start();
t2.start();
t3.start();
}
static class PrintCharTask implements Runnable {
private String c;
private int count;
public PrintCharTask(String c, int count) {
this.c = c;
this.count = count;
}
@Override
public void run() {
for (int i = 0; i < count; i++) {
System.out.print(c);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
```
在上面的程序中,我们使用了 Java 的 Thread 类来创建三个线程,每个线程分别输出 10 个字符,其中 sleep 方法用于让线程暂停 50 毫秒。为了设置线程的优先级,我们使用 setPriority 方法来设置每个线程的优先级。最后,我们启动所有线程并让它们运行。
阅读全文