继承了使用pythons旧线程模块的项目。将来的某个时候,我将切换到线程化,但是现在我将使用所获得的东西。使用start_new_thread关闭线程的正确方法是什么?这是我当前的代码:
ac_thread = start_new_thread(get_token_every_two_minutes, (driver.current_url, q))
time.sleep(20)
ac_thread.exit()
我得到的例外是:
Unhandled exception in thread started by <function thread_flow at 0x0396CB30>
Traceback (most recent call last):
File "G:\common_functions.py", line 609, in thread_flow
ac_thread.exit()
AttributeError: 'int' object has no attribute 'exit'
根据线程文档,start_new_thread应该返回一个标识符,并且 thread.exit():
Raise the SystemExit exception. When not caught, this will cause the thread to exit silently.
答案 0 :(得分:1)
开始一个新线程并返回其标识符。
此标识符是int
,它当然没有'exit'属性。
关于关闭线程;线程将静默退出(完成后),或者当函数因未处理的异常终止时,将打印堆栈跟踪,然后线程退出。