python使用多线程的代码案例
时间: 2024-11-17 20:13:51 浏览: 17
在Python中,我们可以使用内置的`threading`模块来创建多线程程序。以下是一个简单的多线程代码示例,其中两个线程同时执行不同的任务:
```python
import threading
# 定义一个要在线程中执行的任务函数
def print_numbers(n):
for i in range(1, n+1):
print(f"Thread {threading.current_thread().name} - {i}")
# 创建两个线程对象
t1 = threading.Thread(target=print_numbers, args=(5,))
t2 = threading.Thread(target=print_numbers, args=(10,))
# 启动线程
t1.start() # 第一个线程
t2.start() # 第二个线程
# 等待所有线程结束
t1.join()
t2.join()
# 主线程继续执行
print("Both threads have completed.")
```
在这个例子中,我们定义了一个`print_numbers`函数,它会打印从1到给定数值的数字。我们创建了两个`Thread`对象`t1`和`t2`,每个线程都有自己的`target`参数,指向要执行的任务函数,以及额外的参数。调用`start()`方法后,线程开始执行。`join()`方法用于阻塞主线程直到当前线程完成。
注意,由于全局解释器锁(GIL)的存在,Python中的多线程并不适合处理CPU密集型任务,但对于I/O密集型任务(如网络请求或文件操作),多线程还是能提供性能提升。如果需要并行计算能力,考虑使用`multiprocessing`模块或者`concurrent.futures`库。
阅读全文