【发布时间】:2019-06-21 03:41:45
【问题描述】:
我正在尝试学习扭曲的框架。但是,我无法掌握它。
说,我有这个功能。
def long_blocking_call(arg1, arg2):
# do something
time.sleep(5) # simulate blocking call
return result
results = []
for k, v in args.iteritems():
r = long_blocking_call(k,v)
results.append(r)
但是,我想知道如何利用 deferToThread(或扭曲世界中的其他东西)以“并行”方式运行 long_blocking_call
我找到了这个例子:Periodically call deferToThread 但是,我不确定这是否是并行运行的?
【问题讨论】:
-
从多处理导入过程中使用 p1 = Process(target=long_blocking_call, args, name='k') p1.start() p2 = Process(target=long_blocking_call, args, name='k') p2.start() p1.join() p2.join() 这不是一个正确的代码,只是进一步谷歌它,不要使用 args 因为它是一个关键字
-
@MadhurYadav 你能在答案中格式化吗?
-
多处理模块与 Twisted 无关。如果问题是关于如何使用多个进程来实现并行计算,这是一个可能的答案。如果问题是关于如何使用 Twisted 进行并行计算,那不是。
标签: python twisted twisted.internet