使用Python多线程犯的错误总结(2)

在使用pycharm调试时,观察ftp变量的变化,发现只有一个ftp变量,所有的进程都使用的是这一个变量,ftp变量记录的ftp状态不断在变化,出现了各种奇怪的现象。

在缩小了ftp变量的作用域后,重新调试,观察到ftp变量在每个进行中的地址都不一样,每个ftp的变化不受其他进程影响。

第二个错误:

因为在网络上学习分享的多线程文章,受   这个分享的影响,在线程启动后,直接写了t.join(),不是把所有的进程都加了join。

导致执行慢的进程被主线程直接终止,出现了多次ftp没有执行完成,线程就退出。

正确的写法是:

for t in threads:

  t.join()

使用Python多线程犯的错误总结

这个分析当时把我害苦了,调试了老半天才发现这个错误。

总结心得:

对于学习还是要看书籍系统的学习。

另外,学会使用工具调试,观察变量的变化,深入理解程序运行,方便定位问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6ab2b589eb4caca41ef4cca03743e295.html