在CentOS系统下,使用Python进行并发处理有多种方法。以下是一些常用的并发处理库和示例:
threading
库threading
库是Python内置的线程库,可以用来实现简单的并发处理。
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()
concurrent.futures
库concurrent.futures
库是Python 3.2+中的一个高级并发处理库,提供了线程池和进程池两种方式。
from concurrent.futures import ThreadPoolExecutor
def worker(num):
print(f"Worker {num}")
with ThreadPoolExecutor(max_workers=5) as executor:
for i in range(5):
executor.submit(worker, i)
multiprocessing
库multiprocessing
库是Python内置的多进程库,可以用来实现多核并行处理。
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()
asyncio
库asyncio
库是Python 3.4+中的一个异步编程库,可以用来实现协程并发处理。
import asyncio
async def worker(num):
print(f"Worker {num}")
async def main():
tasks = [worker(i) for i in range(5)]
await asyncio.gather(*tasks)
asyncio.run(main())
根据你的需求和场景,可以选择合适的并发处理方法。对于I/O密集型任务,可以使用threading
或asyncio
;对于CPU密集型任务,可以使用multiprocessing
。