파이썬 멀티쓰레드 사용시 함수 파라미터 넘기는 방법

728x90

partial() 사용하기

멀티쓰레드 사용시 target으로 func 라는 함수를 실행하도록 했습니다.

def func(s):
	print(s)
    
if __name__ == '__main__':         

    thread = threading.Thread(target=func("test"))   
    thread.start()

이렇게 함수자체에 파라미터를 넣고 실행하면 실행이 안됩니다.

 

 

from functools import partial

def func(s):
	print(s)
    
if __name__ == '__main__':
    a = partial(func, s)          

    thread = threading.Thread(target=a)   
    thread.start()

partial를 사용해서 a라는 변수에 함수자체에 파라미터(해당 인수)를 넣어서 새로운 함수를 만들어주어 target에 그 함수를 넣어줍니다.

반응형