python 多进程生成图片
时间: 2023-07-06 18:06:20 浏览: 101
python 多进程
生成图片是一个 CPU 密集型任务,使用多进程可以充分利用 CPU 的多核优势,提高生成图片的效率。下面是一个使用 Python 多进程生成图片的示例代码:
```python
import multiprocessing
from PIL import Image
def generate_image(x, y):
# 生成一张图片,并保存为文件
img = Image.new('RGB', (x, y), (255, 255, 255))
img.save(f'{x}_{y}.png')
if __name__ == '__main__':
# 图片尺寸列表
sizes = [(800, 600), (1200, 900), (1600, 1200), (1920, 1080)]
# 创建进程池,最大进程数为 CPU 核心数
pool = multiprocessing.Pool(processes=multiprocessing.cpu_count())
# 生成图片
for size in sizes:
pool.apply_async(generate_image, size)
# 关闭进程池
pool.close()
pool.join()
```
上面的代码中,首先定义了一个 `generate_image` 函数,用于生成指定尺寸的图片并保存为文件。然后定义了一个图片尺寸列表,包含了需要生成的图片尺寸。接着创建了一个进程池,最大进程数为 CPU 核心数。然后在循环中使用 `apply_async` 方法提交任务,该方法会异步地将任务提交到进程池中执行。最后关闭进程池并等待所有任务执行完毕。
阅读全文