我对python中的线程概念很陌生。找到下面的脚本
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版本。
更新了问题
发布于 2016-01-29 01:09:04
在运行线程被调用之前启动了func1:
你应该写:
runthread(func1, func2)要传递参数,请阅读以下示例:https://pymotw.com/2/multiprocessing/basics.html
发布于 2016-01-29 02:18:12
考虑到您已经用一些值初始化了con_no和con_name,您可以使用partial
from functools import partial
...
runthread(partial(func1, con_no, con_name), partial(func2, con_no, con_name))https://stackoverflow.com/questions/35075154
复制相似问题