首页 > 编程 > Python > 正文

在python中实现强制关闭线程的示例

2019-11-25 13:25:13
字体:
来源:转载
供稿:网友

如下所示:

import threadingimport timeimport inspectimport ctypesdef _async_raise(tid, exctype):  """raises the exception, performs cleanup if needed"""  tid = ctypes.c_long(tid)  if not inspect.isclass(exctype):   exctype = type(exctype)  res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype))  if res == 0:   raise ValueError("invalid thread id")  elif res != 1:   # """if it returns a number greater than one, you're in trouble,    # and you should call it again with exc=NULL to revert the effect"""    ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None)   raise SystemError("PyThreadState_SetAsyncExc failed")def stop_thread(thread):  _async_raise(thread.ident, SystemExit)class TestThread(threading.Thread):  def run(self):   print   "begin"   while True:     time.sleep(0.1)   print('end')if __name__ == "__main__":  t = TestThread()  t.start()  time.sleep(1)  stop_thread(t)  print('stoped') 

以上这篇在python中实现强制关闭线程的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表