2017-12-31 279 views
0

현재 파이썬에서 두 개의 루프를 처리하려고합니다. 하나는 현재 내가 설정 한 GUI를 표시하는 tkinter 루프이고, 다른 하나는 P2P 채팅 기능입니다. 'import threading'을 사용하여 쓰레드를 정의하고 개별적으로 시작하는 것은 효과가없는 것 같습니다. 이 두 루프를 동시에 실행하는 데 사용할 수있는 방법에 대한 제안 사항이 있습니까?파이썬에서 스레딩하기 Sugggestions

내가 스레드를 시작하는 데 사용하고 코드 :

thread1 = threading.Thread(target=x.mainloop()) 
thread1.start() 
thread2 = threading.Thread(target=root.mainloop()) 
thread2.start() 

답변

1

당신이 그들을 호출 없이 기능을 전달해야합니다. 마찬가지로, 당신은 그들을 호출하려고하고 스레드에 대한 반환 값을 target으로 전달합니다. 결코 돌아 오지 않기 때문에 두 번째 스레드를 실행하지 마십시오. 시도해보십시오.) 문제 네의 일부였다, 그러나 나는 또한 Tkinter의는 "주로 단일 스레드 이벤트 모델을 기반으로 주회 돌이를 (배운

thread1 = threading.Thread(target=x.mainloop) # Removed call parens on target 
thread1.start() 
thread2 = threading.Thread(target=root.mainloop) # Removed call parens on target 
thread2.start() 
+0

, 콜백, 이벤트 핸들러 및 양육 Tkinter의 예외는 모든 단일 처리됩니다 실." –