Как исправить ошибку многопоточности в python? (Исключение в ветке Thread-2) - PullRequest
0 голосов
/ 09 января 2019

Хорошо, так что я начинающий Python с опытом в Matlab и Java. Я работаю над графическим интерфейсом для небольшого проекта используя питон. Все работало очень хорошо, пока я не импортировал класс, который добавляет таймер, который должен отправлять сигналы каждые n секунд (код ниже). Это сработало нормально, но сейчас я борюсь с следующая ошибка:

Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 1180, in run
self.function('self.args,**self.kwargs')

(я запускаю этот код на Raspberry Pi)

class perpetualTimer():

    def __init__(self, t, hFunction):
        self.t = t
        self.hFunction = hFunction
        self.thread = Timer(self.t, self.handle_function)

    def handle_function(self):
        self.hFunction()
        self.thread = Timer(self.t, self.handle_function)
        self.thread.start()

    def start(self):
        self.thread.start()

    def cancel(self):
        self.thread.cancel()

Из-за этих ошибок моя программа иногда просто перестает работать. Я должен использовать команду 'pkill -9 python3', чтобы убить процесс.

...