python - Python 关闭进程、线程、管道、队列、定时器
问题描述
我有几个与管道和队列通信的进程和线程。我需要将其全部关闭,但出现错误
进程以退出代码 -1073740791 (0xC0000409) 结束
我认为问题在于关闭的顺序。首先我尝试关闭进程,然后是线程,然后是队列和管道
def reset(self):
try:
self.process.terminate()
self.processBullet.terminate()
self.tankCollisionProcess.terminate()
self.processEWC.terminate()
self.processECB.terminate()
self.thread.stop()
self.thread_enemy_bullet.stop()
if self.move_to_new_level is False:
self.thread_enemy_move.stop()
self.myPipe1.close()
self.myPipe2.close()
self.queueTile.close()
self.myPipe1 = None
self.myPipe2 = None
self.queueTile = None
self.queueTileC.close()
self.queueEWC.close()
self.pipeB1.close()
self.pipeB2.close()
self.pipeBullet1.close()
self.pipeBullet2.close()
self.pipeT1.close()
self.pipeT2.close()
self.pipe1.close()
self.pipe2.close()
except:
pass
finally:
self.process = None
self.processBullet = None
self.tankCollisionProcess = None
self.processECB = None
self.processEWC = None
self.thread = None
self.thread_enemy_bullet = None
self.player.hide()
self.player.destroy()
self.player = None
self.level.remove_map()
self.level = None
self.timer_pecurkica.disconnect()
self.timer_pecurkica.stop()
self.timer_pecurkica_hide.disconnect()
self.timer_pecurkica_hide.stop()
self.timer_dexm.disconnect()
self.timer_dexm.stop()
self.no_pu.disconnect()
self.no_pu.stop()
self.power_up = None
self.enemies.delete_all_enemies()
self.enemies = None
解决方案
推荐阅读
- data-structures - 来自未排序数组的二叉树
- xml - 带有adobe pdfmark的文本不可见,为什么?
- android - android : How to filter items in firebase by referring another database reference property
- javascript - 在 Promise.all() 中处理来自每个承诺的响应对象
- python - Python package: Can I look for config/yml file from project directory which called it?
- sql-server - SQL Server 作业中的布尔表达式
- angular - Angular select option field not displaying
- url-parameters - Facebook 即时文章 - 同一篇文章的多个网址
- php - 如果使用 php/mysqli 值为空,如何将列值设置为零?
- c# - 模拟管理员用户并运行 Powershell 脚本