centos

CentOS Python并发处理怎么做

小樊
47
2025-09-26 16:52:08
栏目: 编程语言

在CentOS上使用Python进行并发处理,你可以选择多种方法。以下是一些常用的并发处理库和示例:

  1. 使用threading库:
import threading

def worker(num):
    """线程任务函数"""
    print(f"Worker: {num}")

threads = []
for i in range(5):
    t = threading.Thread(target=worker, args=(i,))
    threads.append(t)
    t.start()

for t in threads:
    t.join()
  1. 使用multiprocessing库:
import multiprocessing

def worker(num):
    """进程任务函数"""
    print(f"Worker: {num}")

processes = []
for i in range(5):
    p = multiprocessing.Process(target=worker, args=(i,))
    processes.append(p)
    p.start()

for p in processes:
    p.join()
  1. 使用concurrent.futures库:
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor

def worker(num):
    """任务函数"""
    print(f"Worker: {num}")

# 使用线程池
with ThreadPoolExecutor(max_workers=5) as executor:
    for i in range(5):
        executor.submit(worker, i)

# 使用进程池
with ProcessPoolExecutor(max_workers=5) as executor:
    for i in range(5):
        executor.submit(worker, i)
  1. 使用asyncio库(适用于I/O密集型任务):
import asyncio

async def worker(num):
    """异步任务函数"""
    print(f"Worker: {num}")
    await asyncio.sleep(1)

async def main():
    tasks = [worker(i) for i in range(5)]
    await asyncio.gather(*tasks)

asyncio.run(main())

根据你的需求和任务类型,可以选择合适的并发处理方法。对于CPU密集型任务,推荐使用multiprocessing库;对于I/O密集型任务,推荐使用asyncio库。

0
看了该问题的人还看了