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

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

故障现象

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

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.')

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

原因分析

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

解决方案

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

猜你喜欢

转载自blog.csdn.net/Michael_Cretu_/article/details/125312120