Следующее обходное решение может быть использовано для уничтожения потока:
kill_threads = False
def doSomething():
global kill_threads
while True:
if kill_threads:
thread.exit()
......
......
thread.start_new_thread(doSomething, ())
Это можно использовать даже для завершения потоков, код которых написан в другом модуле, из основного потока. Мы можем объявить глобальную переменную в этом модуле и использовать ее для прекращения потоков / s, порожденных в этом модуле.
Обычно я использую это для завершения всех потоков при выходе из программы. Возможно, это не идеальный способ прекратить поток / s, но может помочь.