2016-08-21 1 views
0

많은 검색을 시도했지만 실제로 문제를 어떻게 해결할 지 모르겠으므로 솔루션이있을 수 있습니다. 내가 그것을 검색하는 방법을 몰랐기 때문에 찾을 수 없었다.실행할 대상 함수를 지정하는 대신 코드를 새 스레드 코드로 실행하십시오.

별도의 스레드에서 실행하고 싶은 한 줄의 코드가 있습니다. 지금까지 난 당신이 스레드를 시작할 때 target 인수를 사용하여 호출하는 기능을 사용하면 다음 자신의 함수 내에서 실행하고자하는 코드를 넣어야 할 새 스레드를 만들 수있는 인상을 :

threading.Thread(target = functionName).start() 

이 괜찮습니다 그리고 저는이 코드를 하나의 코드 만 실행하기 때문에 코드를 자체 기능으로 사용하는 것이 약간 무의미한 것 같아서 이것을 제거하고 싶습니다. 스레드를 만들고 함수 이름 대신 target 같이 실제 코드 줄을 효과적으로 지정하고 싶습니다.

new Thread(delegate() 
{ 
    // any amount of code goes here and it will be run in its own thread 
}).Start(); 

을하지만 파이썬에서이 작업을 수행 할 수있는 방법이있다 :

전 C#에서이 작업을 수행 할 수 있습니다?

+0

당신이 사용할 수 있습니다 또 다른 스레드에서의로 '안녕하세요'터미널에 표시되지 않습니다 '람다 '. – Daniel

+0

@ 대니얼 (D 다니엘)은 람다에 코드의 양을 줄 수가 없습니다. 루프가 없으며 제어 흐름이 제한되어 있습니다. – ForceBru

+0

@ForceBru : OP에는 한 줄의 코드가 나와 있으므로 람다이면 충분합니다. – Daniel

답변

0

이 경우 lambda

threading.Thread(target = lambda: print('hi')).start() 

를 사용하여 인라인 기능을 할 수 파이썬을 사용하여, 그래서

+0

내가 뭘 찾고 있었는지, 고마워! – HenryHunt

관련 문제