Python中可以使用multiprocessing模块来实现多进程操作。可以通过该模块的cpu_count()函数来获取CPU核心数,然后将多个进程分配到不同的核心中运行,以实现并行操作。
示例代码如下:
import multiprocessing
def worker():
"""进程任务"""
print("I am working on CPU core", multiprocessing.current_process().name)
if __name__ == "__main__":
# 获取CPU核心数
cpu_count = multiprocessing.cpu_count()
# 创建进程池
pool = multiprocessing.Pool(processes=cpu_count)
# 启动进程
for i in range(10):
pool.apply_async(worker)
# 关闭进程池
pool.close()
pool.join()
上述代码中,首先通过multiprocessing.cpu_count()函数获取CPU核心数,并创建了一个进程池(pool)。然后使用pool.apply_async()方法启动了10个进程,由进程池自动分配到不同的CPU核心中运行。在worker函数中,我们通过multiprocessing.current_process().name获取当前进程的名称,从而打印出该进程运行的CPU核心编号。最后,使用pool.close()和pool.join()方法关闭进程池。