编写一个Java程序(包括一个主程序类,一个线程类。在主程序类中创建2个线程,将其中一个线程的优先级设为10,另一个线程的优先级设为6。让优先级为10的线程打印200次“线程1正在运行”,优先级为6的线程打印200次“线程2正在运行”。
时间: 2024-02-19 08:58:23 浏览: 27
好的,以下是一个满足要求的Java程序代码:
```java
public class Main {
public static void main(String[] args) {
// 创建两个线程对象
Thread thread1 = new Thread(new MyThread(), "线程1");
Thread thread2 = new Thread(new MyThread(), "线程2");
// 设置线程优先级
thread1.setPriority(10);
thread2.setPriority(6);
// 启动线程
thread1.start();
thread2.start();
}
}
class MyThread implements Runnable {
@Override
public void run() {
for (int i = 0; i < 200; i++) {
System.out.println(Thread.currentThread().getName() + "正在运行");
}
}
}
```
在这个程序中,我们首先创建了一个`Main`类和一个`MyThread`线程类。`Main`类中创建了两个线程对象,分别代表优先级为10和6的线程,并设置了它们的优先级。然后启动这两个线程,它们都会执行`MyThread`类的`run()`方法中的循环,打印出对应的字符串。
运行这个程序后,你会看到线程1比线程2的输出频率更高,因为线程1的优先级更高。但是,这并不代表线程1一定比线程2先完成,因为线程调度是不确定的。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)