Ответ 1
Потому что кто-то другой установит его.
Обычно вы запускаете поток в одной части своего приложения и продолжаете делать все, что вы делаете:
thread = TimerClass()
thread.start()
# Do your stuff
В этом нищете, в то время как вы делаете свои вещи. Если вы хотите завершить поток, который вы только что вызываете:
thread.event.set()
И поток остановится.
Итак, ответ: событие в этом случае не используется для управления потоком из самого объекта потока. Он используется для управления потоком извне (из объекта, который содержит ссылку на поток).