Python中的多线程和多进程编程是实现并发和并行计算的重要手段。下面分别介绍这两种编程方式。
- 多线程编程
Python中的多线程编程可以使用内置的threading
模块来实现。threading
模块提供了线程的创建、同步、通信等操作。
要使用多线程,首先需要导入threading
模块,然后创建线程对象,并调用其start()
方法来启动线程。线程对象可以传递参数,也可以返回结果。可以使用同步机制来避免线程间的竞争条件。
下面是一个简单的多线程示例:
import threading
import time def worker(num): print(f"Worker {num} is working") time.sleep(1) print(f"Worker {num} is done") return num * 2 def main(): threads = [] for i in range(5): t = threading.Thread(target=worker, args=(i,)) threads.append(t) t.start() for t in threads: t.join() if __name__ == "__main__": main()
- 多进程编程
Python中的多进程编程可以使用内置的multiprocessing
模块来实现。multiprocessing
模块提供了进程的创建、同步、通信等操作。
要使用多进程,首先需要导入multiprocessing
模块,然后创建进程对象,并调用其start()
方法来启动进程。进程对象也可以传递参数,并返回结果。可以使用同步机制来避免进程间的竞争条件。
下面是一个简单的多进程示例:
import multiprocessing
import time def worker(num): print(f"Worker {num} is working") time.sleep(1) print(f"Worker {num} is done") return num * 2 def main(): processes = [] for i in range(5): p = multiprocessing.Process(target=worker, args=(i,)) processes.append(p) p.start() for p in processes: p.join() if __name__ == "__main__": main()