tkinter에서 쓰레드를 사용하려면 tkinter가 어떻게 동작하는지 어느 정도 이해가 필요합니다. 우선 tkinter 프로그램을 실행하면 메인 쓰레드에서 GUI로 동작하게 될 객체의 mainloop를 호출해야 합니다. 이 호출로 인해 메인 쓰레드에서의 코드는 더 이상 실행되지 않고 멈추게 되면서 새로운 쓰레드가 시작되어 이벤트 루프와 GUI의 update가 계속 진행됩니다. 우리가 보통 프로그램을 실행할 때 보이는 단추나 텍스트 등이 보이면서 사용자의 입력에 반응하는 것이죠. 사용자가 프로그램 닫기 단추를 누르면 이 루프가 종료되면 메인쓰레드의 코드가 다시 진행되게 됩니다. 이 후의 코드가 있다면 실행되겠죠. 프로그램 실행 중에는 버튼이 눌리면 해당 리스너가 호출되고, GUI 요소를 옮기거나 하면 새..