Python中的多线程和多进程编程(三)

79 阅读1分钟

Python中的多线程和多进程编程是实现并发和并行计算的重要手段。下面分别介绍这两种编程方式。

  1. 多线程编程

Python中的多线程编程可以使用内置的threading模块来实现。threading模块提供了线程的创建、同步、通信等操作。

要使用多线程,首先需要导入threading模块,然后创建线程对象,并调用其start()方法来启动线程。线程对象可以传递参数,也可以返回结果。可以使用同步机制来避免线程间的竞争条件。

下面是一个简单的多线程示例:

python复制代码
	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()
  1. 多进程编程

Python中的多进程编程可以使用内置的multiprocessing模块来实现。multiprocessing模块提供了进程的创建、同步、通信等操作。

要使用多进程,首先需要导入multiprocessing模块,然后创建进程对象,并调用其start()方法来启动进程。进程对象也可以传递参数,并返回结果。可以使用同步机制来避免进程间的竞争条件。

下面是一个简单的多进程示例:

python复制代码
	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()