22

내가처럼 보이는 기능을 가지고 말 :변수를 파이썬에서 스레드로 전달하는 방법은 무엇입니까?

def _thread_function(arg1, arg2=None, arg3=None): 
    #Random code 

가 지금은 그 기능을 사용하여 스레드를 생성 할, 그리고에서 arg3 그것을 ARG2 제공하지만. 나는 아래와 같이 이것을 시도하고있다 :

#Note: in this code block I have already set a variable called arg1 and a variable called arg2 
threading.Thread(target=self._thread_function, args=(arg1, arg2=arg2), name="thread_function").start() 

위의 코드는 구문 오류를 일으킨다. arg2로 스레드에 인수를 전달할 수 있도록 어떻게 수정합니까?

답변

37

사용 kwargs parameter :

threading.Thread(target=self._thread_function, args=(arg1,), 
       kwargs={'arg2':arg2}, name='thread_function').start() 
+0

오, 그것을 할 것 같았다 감사합니다. – Dylan

관련 문제