创建两个子线程,每个线程均输出20次消息数字、“你好”、线程名;观察多个线程交替执行的过程。要求使用继承Thread类的方式创建线程,实现Thread类的run0方法,编写线程执行体,使用start0方法启动线程
时间: 2023-06-18 20:08:11 浏览: 88
以下是实现该需求的 Python 代码:
```python
import threading
class MyThread(threading.Thread):
def __init__(self, name):
threading.Thread.__init__(self)
self.name = name
def run(self):
for i in range(20):
print(i, "你好", self.name)
thread1 = MyThread("线程1")
thread2 = MyThread("线程2")
thread1.start()
thread2.start()
```
在该代码中,我们首先定义了一个 `MyThread` 类,该类继承了 Python 内置的 `threading.Thread` 类,重写了 `run` 方法,该方法定义了线程的执行体,即输出数字、"你好" 和线程名。
然后,我们创建了两个 `MyThread` 类的实例 `thread1` 和 `thread2`,分别传入了不同的线程名。接着,我们调用了它们的 `start` 方法,这样两个子线程就开始执行了。
由于我们无法控制线程的执行顺序,因此两个线程的输出会交替出现。例如,可能会出现如下的输出:
```
0 你好 线程1
0 你好 线程2
1 你好 线程1
1 你好 线程2
2 你好 线程1
2 你好 线程2
3 你好 线程1
3 你好 线程2
4 你好 线程1
4 你好 线程2
5 你好 线程1
5 你好 线程2
6 你好 线程1
6 你好 线程2
7 你好 线程1
7 你好 线程2
8 你好 线程1
8 你好 线程2
9 你好 线程1
9 你好 线程2
10 你好 线程1
10 你好 线程2
11 你好 线程1
11 你好 线程2
12 你好 线程1
12 你好 线程2
13 你好 线程1
13 你好 线程2
14 你好 线程1
14 你好 线程2
15 你好 线程1
15 你好 线程2
16 你好 线程1
16 你好 线程2
17 你好 线程1
17 你好 线程2
18 你好 线程1
18 你好 线程2
19 你好 线程1
19 你好 线程2
```
阅读全文