threading 模块实现多线程
时间: 2024-05-10 19:19:44 浏览: 108
是的,Python 的 threading 模块可以用来实现多线程。它提供了一个 Thread 类,我们可以从这个类派生出自己的线程类,并重写 run() 方法来定义线程的行为。每个线程类的实例都代表一个单独的线程,可以通过调用 start() 方法来启动线程。
下面是一个简单的例子,演示如何使用 threading 模块创建和启动两个线程:
```python
import threading
# 定义线程函数
def worker(num):
print('Worker %d started' % num)
# do some work...
print('Worker %d finished' % num)
# 创建两个线程并启动
t1 = threading.Thread(target=worker, args=(1,))
t2 = threading.Thread(target=worker, args=(2,))
t1.start()
t2.start()
```
在这个例子中,我们定义了一个 worker() 函数作为线程函数,并创建了两个线程对象 t1 和 t2。我们通过调用 start() 方法来启动这两个线程,它们会同时运行,输出类似以下内容:
```
Worker 1 started
Worker 2 started
Worker 1 finished
Worker 2 finished
```
需要注意的是,在多线程编程中,由于多个线程可能同时访问共享的资源,所以需要确保对共享资源的访问是安全的。Python 提供了一些同步机制,如锁、信号量等,来帮助我们控制对共享资源的访问。
阅读全文