import threading
import multiprocessing
import time
# 定义一个简单的任务函数
def task(name):
print(f"Task {name} starts")
time.sleep(2) # 模拟耗时操作
print(f"Task {name} ends")
# 多线程示例
def multi_threading():
threads = []
for i in range(3):
t = threading.Thread(target=task, args=(f"Thread-{i}",))
threads.append(t)
t.start()
for t in threads:
t.join()
# 多进程示例
def multi_processing():
processes = []
for i in range(3):
p = multiprocessing.Process(target=task, args=(f"Process-{i}",))
processes.append(p)
p.start()
for p in processes:
p.join()
if __name__ == "__main__":
print("Multi-threading example:")
multi_threading()
print("\nMulti-processing example:")
multi_processing()
多线程示例 (multi_threading
):
threading.Thread
创建多个线程。task
,传入不同的参数(如线程名)。start()
方法启动线程,join()
方法确保主线程等待所有子线程完成。多进程示例 (multi_processing
):
multiprocessing.Process
创建多个进程。task
,传入不同的参数(如进程名)。start()
方法启动进程,join()
方法确保主进程等待所有子进程完成。任务函数 (task
):
time.sleep(2)
)并打印开始和结束信息。通过对比多线程和多进程的实现方式,可以看出它们的主要区别在于:
上一篇:find在python中的用法
下一篇:python 16进制转10进制
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站