首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的并行执行

python中的并行执行
EN

Stack Overflow用户
提问于 2016-01-29 01:05:40
回答 2查看 184关注 0票数 0

我对python中的线程概念很陌生。找到下面的脚本

代码语言:javascript
复制
def func1(con_no, con_name, *argv):
"This functions takes around 3-4 min to completes"

def func2(con_no, con_name, *argv):
"This functions takes around 5 min to completes"

def runthread(*fns):

   proc = []
   for fn in fns:
       p = Process(target=fn)
       p.start()
       proc.append(p)
   for p in proc:
       p.join()

if __name__ == '__main__':

runthread(func1(con_no, con_name), func2(con_no, con_name))

上面的代码等待func1()完成其操作,然后转到func2().How并行地启动这两个函数,这样func2()就不会等待func1()完成其操作。请注意,我正在使用python2.7版本。

更新了问题

EN

回答 2

Stack Overflow用户

发布于 2016-01-29 01:09:04

在运行线程被调用之前启动了func1:

你应该写:

代码语言:javascript
复制
runthread(func1, func2)

要传递参数,请阅读以下示例:https://pymotw.com/2/multiprocessing/basics.html

票数 2
EN

Stack Overflow用户

发布于 2016-01-29 02:18:12

考虑到您已经用一些值初始化了con_nocon_name,您可以使用partial

代码语言:javascript
复制
from functools import partial

...

runthread(partial(func1, con_no, con_name), partial(func2, con_no, con_name))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35075154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档