线程在同一进程内并发运行,共享内存空间。 Python 的全局解释器锁 (GIL) 将线程一次执行一次,使其非常适合 I/O 密集型任务,但不适用于 CPU 密集型任务。
示例:一个简单的线程程序
import threading def print_numbers(): for i in range(5): print(f"Number: {i}") # Create and start threads thread1 = threading.Thread(target=print_numbers) thread2 = threading.Thread(target=print_numbers) thread1.start() thread2.start() thread1.join() thread2.join()
多处理创建具有单独内存空间的单独进程,绕过 GIL。它最适合CPU 密集型任务,例如数据处理或模拟。
示例:多处理基础知识
from multiprocessing import Process def print_numbers(): for i in range(5): print(f"Number: {i}") if __name__ == "__main__": process1 = Process(target=print_numbers) process2 = Process(target=print_numbers) process1.start() process2.start() process1.join() process2.join()
通过线程,Python 在单个进程中执行多任务。通过进程,Python 实现了跨多个核心的真正并行性。它们共同使您的代码高效且可扩展。
_?为掌握 Python 并发干杯!_
以上是Python 多线程和多处理的详细内容。更多信息请关注PHP中文网其他相关文章!