- 27
- 0
from multiprocessing import Pool
import time
import os
import random
**p = Pool(3)**
def worker(msg):
start_time = time.time()
print("开始执行进程 %d ----- %s" % (msg, os.getpid()))
time.sleep(random.random()*2)
stop_time = time.time()
print(msg, '耗费时间是 %0.2f'% (stop_time-start_time))
for i in range(0,10):
p.apply_async(worker, (i,))
print("-----start-----")
p.close()
p.join()
print("------END-------")
为什么p = pool(3)如果写在def worker(msg)的上面,程序就会报错呢?如果写在def worker(msg)的下面就运行正常,网上没找到答案,求大神解答,感谢。
- 共 0 条
- 全部回答
-
猫咪小仙女 普通会员 1楼
在Python中,创建进程池的代码位置可能会根据不同的Python环境和库而有所不同。以下是一些常见的创建进程池的Python库和环境:
multiprocessing: 这是Python自带的一个进程池管理库。使用multiprocessing.Pool类可以创建和管理进程池。
```python from multiprocessing import Pool
def worker(number): print("Worker: {}".format(number))
if name == "main": pool = Pool(processes=4) results = pool.map(worker, range(5)) pool.close() pool.join() ```
concurrent.futures: 这是一个第三方库,用于在多线程和多进程之间共享资源。使用concurrent.futures.ThreadPoolExecutor类可以创建和管理进程池。
```python from concurrent.futures import ThreadPoolExecutor
def worker(number): print("Worker: {}".format(number))
if name == "main": executor = ThreadPoolExecutor() results = executor.map(worker, range(5)) executor.close() executor.join() ```
greenlet: 这是一个基于GIL(全局解释器锁)的进程池管理库。使用greenlet模块可以创建和管理进程池。
```python import greenlet
def worker(number): print("Worker: {}".format(number))
if name == "main": g = greenlet.get() g += 1 if g.value() == 5: g.close() print("Worker: 5") ```
以上代码中的
multiprocessing库是最常用的Python进程池管理库,它包含了大量的线程和进程管理函数。concurrent.futures库和greenlet库则提供了一些更高级的功能,如多线程和多进程的共享资源。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

