Как остановить зацикливание потока в Python?

Какие'правильный способ сообщить зацикливанию потока прекратить зацикливание?

У меня довольно простая программа, которая пингует указанный хост в отдельномthreading.Thread учебный класс. В этом классе он спит 60 секунд, запускается снова, пока приложение не закроется.

Я хотел бы реализоватьСтоп' кнопка в моемwx.Frame попросить зацикливание потока остановить. Это неНе нужно сразу завершать поток, он может просто перестать зацикливаться, когда проснется.

Вот мойthreading класс (примечание: у меня нетпока не реализован цикл, но он, скорее всего, попадет под метод run в PingAssets)

class PingAssets(threading.Thread):
    def __init__(self, threadNum, asset, window):
        threading.Thread.__init__(self)
        self.threadNum = threadNum
        self.window = window
        self.asset = asset

    def run(self):
        config = controller.getConfig()
        fmt = config['timefmt']
        start_time = datetime.now().strftime(fmt)
        try:
            if onlinecheck.check_status(self.asset):
                status = "online"
            else:
                status = "offline"
        except socket.gaierror:
            status = "an invalid asset tag."
        msg =("{}: {} is {}.   \n".format(start_time, self.asset, status))
        wx.CallAfter(self.window.Logger, msg)

И в моем кадре wxPyhton эта функция вызывается с помощью кнопки «Пуск»:

def CheckAsset(self, asset):
        self.count += 1
        thread = PingAssets(self.count, asset, self)
        self.threads.append(thread)
        thread.start()

Ответы на вопрос(4)

Ваш ответ на вопрос