发布于2026-07-03 阅读(0)
扫一扫,手机访问
在 Linux 环境下用 Python 写多线程,最常用的标准库就是 threading。这个模块提供了创建和管理线程所需的基本工具,上手并不复杂。咱们直接看个例子,感受一下它的工作流程:

import threading
def print_numbers():
for i in range(1, 11):
print(f"Number: {i}")
thread1 = threading.Thread(target=print_numbers)
thread2 = threading.Thread(target=print_numbers)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print("Finished.")
这段代码的核心逻辑很清晰:先定义一个要在新线程里执行的函数 print_numbers,然后创建两个线程对象,把函数作为 target 传进去。调用 start() 让线程跑起来,再用 join() 等待两个线程都执行完毕,最后输出 "Finished."。整个过程就像同时安排两个人去干同一件活,各自独立输出数字。
不过有一点需要特别留意——Python 的全局解释器锁(GIL)确实会对多线程的性能产生影响,尤其是在 CPU 密集型的任务中。因为 GIL 同一时刻只允许一个线程执行 Python 字节码,所以纯计算型的任务用多线程反而可能比单线程还慢。但换个角度看,对于 I/O 密集型任务(比如网络请求、文件读写),多线程依然很实用:线程在等待 I/O 操作时可以主动释放 GIL,让其他线程接着跑,整体效率就能提上去。
如果你的场景属于 CPU 密集型,那就别在 threading 上死磕了。Python 提供了 multiprocessing 模块,它的接口跟 threading 非常相似,但背后用的是多个进程而不是线程。每个进程拥有独立的 Python 解释器和内存空间,可以真正利用多核处理器的并行能力。简单说,选哪个工具,关键看瓶颈是 CPU 还是 I/O,对症下药才能写出高效的并发代码。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8