我试图多次调用相同的过程并获取回报
from time import sleep
from multiprocessing import Process, Queue
from multiprocessing import Pool
def main():
#Call processes here.
var1 = 100000000
var2 = 1000000
var3 = 100000
q = Queue()
p1 = Process(target=call_pool, args=(q,var1))
p2 = Process(target=call_pool, args=(q,var2))
p3 = Process(target=call_pool, args=(q,var3))
p1.start()
p2.start()
p3.start()
p1.join()
p2.join()
p3.join()
print q.get() # prints "[42, None, 'hello']"
def call_pool(queue,var):
#Call pool here
queue.put(len(pool_gen(var)))
def pool_gen(var):
pool = Pool()
data = pool.map(f, range(var))
return data
def f(x):
return x*x*x*x
if __name__ == '__main__':
start = time.time()
main()
end = time.time()
print(end - start)
我认为队列没有添加函数。
我是否需要定义3个队列并将数据放入3倍以上?
参考方案
我猜答案是使用经理。
import time
from time import sleep
from multiprocessing import Process, Manager
from multiprocessing import Pool
def main():
#Call processes here.
var1 = 100000
var2 = 100000
var3 = 100000
manager = Manager()
d = manager.list()
p1 = Process(target=call_pool, args=(d,var1))
p2 = Process(target=call_pool, args=(d,var2))
p3 = Process(target=call_pool, args=(d,var3))
p1.start()
p2.start()
p3.start()
p1.join()
p2.join()
p3.join()
print d # prints "[42, None, 'hello']"
def call_pool(d,var):
#Call pool here
d.append(len(pool_gen(var)))
def pool_gen(var):
pool = Pool()
data = pool.map(f, range(var))
return data
def f(x):
return x*x*x*x
if __name__ == '__main__':
start = time.time()
main()
end = time.time()
print(end - start)
Python GPU资源利用 - python我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…
Python sqlite3数据库已锁定 - python我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…
Python exchangelib在子文件夹中读取邮件 - python我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…
我运行带有multiprocessing.Pool()的python代码,所有进程一开始运行良好,但是所有进程都在几个小时后陷入睡眠状态 - python我使用python 2.7和带有multiprocessing.Pool()的anaconda2运行python代码,并且使用了10个CPU工人。该代码从同一文件读取输入(仅以读取模式打开),并在某些处理后输出一些字符串,并且所有输出均被重定向到bash中带有'>'的同一文件。该代码在centos服务器上运行,并在其中运行许多其他进程。最初,所有过程运…
python-docx应该在空单元格已满时返回空单元格 - python我试图遍历文档中的所有表并从中提取文本。作为中间步骤,我只是尝试将文本打印到控制台。我在类似的帖子中已经看过scanny提供的其他代码,但是由于某种原因,它并没有提供我正在解析的文档的预期输出可以在https://www.ontario.ca/laws/regulation/140300中找到该文档from docx import Document from…