python3 多线程示例
时间: 2023-08-31 15:41:17 浏览: 63
### 回答1:
以下是一个 Python3 的多线程示例:
```python
import threading
def worker(num):
"""线程执行的函数"""
print('Worker %d started' % num)
return
threads = []
for i in range(5):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join()
```
这个示例创建了 5 个线程,并且每个线程都会执行 `worker` 函数。在这个函数中,我们只是简单地打印了一条消息。在主线程中,我们等待所有的线程都执行完毕,然后再退出程序。
### 回答2:
Python3 多线程示例可以通过使用`threading`模块来实现。下面是一个简单的示例:
```python
import threading
# 定义一个线程执行的函数
def print_hello():
for _ in range(5):
print("Hello")
# 定义另一个线程执行的函数
def print_world():
for _ in range(5):
print("World")
# 创建两个线程对象
t1 = threading.Thread(target=print_hello)
t2 = threading.Thread(target=print_world)
# 启动线程
t1.start()
t2.start()
# 等待线程结束
t1.join()
t2.join()
print("Done")
```
上述示例中,我们首先导入`threading`模块,然后定义了两个函数`print_hello`和`print_world`,分别用于打印"Hello"和"World"。然后,我们创建了两个`Thread`对象,分别将这两个函数作为线程的目标函数。接着,我们通过调用`start`方法启动线程,线程开始执行函数内的代码。最后,我们调用`join`方法等待线程执行完毕,并打印"Done"表示程序执行结束。
需要注意的是,Python中的多线程是模拟实现的,因为Python的全局解释器锁(GIL)会限制同一时间只有一个线程在解释器中执行字节码。因此,对于计算密集型的任务,多线程可能无法提升性能。但是,对于I/O密集型的任务,多线程可以显著改善程序的运行速度。