编写有三个不同优先级线程的程序,三个线程分别输出10个a、b、c,每输出一个停(sleep)50毫秒
时间: 2024-02-23 14:58:03 浏览: 44
java两个线程同时写一个文件
5星 · 资源好评率100%
以下是一个使用 Python 语言编写的具有三个不同优先级线程的程序,每个线程输出 10 个 a、b、c 并停留 50 毫秒:
```python
import threading
import time
def print_letter(letter, sleep_time):
for i in range(10):
print(letter)
time.sleep(sleep_time)
# 创建三个线程,分别输出 a、b、c
t1 = threading.Thread(target=print_letter, args=('a', 0.05))
t2 = threading.Thread(target=print_letter, args=('b', 0.05))
t3 = threading.Thread(target=print_letter, args=('c', 0.05))
# 设置线程优先级,1 为最低,2 为中等,3 为最高
t1.daemon = True
t1.priority = 1
t2.daemon = True
t2.priority = 2
t3.daemon = True
t3.priority = 3
# 启动线程
t1.start()
t2.start()
t3.start()
# 等待线程结束
t1.join()
t2.join()
t3.join()
```
在这个程序中,我们使用 `threading` 模块创建了三个线程 `t1`、`t2` 和 `t3`,分别输出 a、b、c。我们使用 `time.sleep()` 函数让每个线程停留 50 毫秒,然后继续执行。我们还设置了每个线程的优先级,其中 `t1` 为最低,`t2` 为中等,`t3` 为最高。最后,我们使用 `join()` 函数等待所有线程结束。
阅读全文