I did some research on this because I run chess engines which may get out of hand. I was wondering if I can kill a handler thread when the engine freezes. It is far from being natural and easy. From what I've read I gathered that 'killing' threads from the outside is a thing you should avoid. I personally use the Tk event loop for event driven programming. I only use threads for shepherding processes which are started once and run all the way long paralelly with the MainLoop. Normally there is no need to 'kill' such a thread.