当前位置:   article > 正文

【故障诊断】使用多线程,程序不报错,但就是不运行_python多线程不执行不报错的原因

python多线程不执行不报错的原因

【故障诊断】使用多线程,程序不报错,但就是不运行

故障现象

使用多线程的时候,主函数尚且还在执行,但子函数却不执行。

if __name__=='__main__':
    print('Parent process %s.' % os.getpid())
    p = Pool(processes = 4)
    for i in range(30):
        p.apply_async(func = stitch, args=(i,))
    print('Waiting for all subprocesses done...')
    p.close()
    p.join()
    print('All subprocesses done.')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

如图所示,main会执行,但stitch就不会了。

原因分析

这是因为你的参数列表,也就是args和上面stitch函数的定义不一致。

解决方案

你只要把参数列表改为一致就可以了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/197869
推荐阅读
相关标签
  

闽ICP备14008679号