源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

探寻python多线程ctrl+c退出问题解决方案

  • 时间:2021-03-21 21:51 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:探寻python多线程ctrl+c退出问题解决方案
场景: 经常会遇到下述问题:很多io busy的应用采取多线程的方式来解决,但这时候会发现python命令行不响应ctrl-c 了,而对应的java代码则没有问题:
[url=http://greenteapress.com/semaphores/]http://greenteapress.com/semaphores/[/url]       I have only tested this on Linux.  I would expect it to     work on the Macintosh and not work on Windows.     """        def __init__(self):          """ Creates a child thread, which returns.  The parent             thread waits for a KeyboardInterrupt and then kills             the child thread.         """          self.child = os.fork()          if self.child == 0:              return          else:              self.watch()        def watch(self):          try:              os.wait()          except KeyboardInterrupt:              # I put the capital B in KeyBoardInterrupt so I can              # tell when the Watcher gets the SIGINT              print 'KeyBoardInterrupt'              self.kill()          sys.exit()        def kill(self):          try:              os.kill(self.child, signal.SIGKILL)          except OSError: pass    Watcher()              thread_=threading.Thread(target=foreverLoop)  thread_.start() 
 注意 watch()一定要放在线程创建前,原因未知。。。。,否则立刻就结束
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部