Python에서 스레드 생성
문제:
Python 스크립트에서 두 함수를 동시에 실행할 수 있는 방법은 무엇입니까? 클래스 대신 스레드 함수를 사용하시나요?
작업 스크립트:
<code class="python">from threading import Thread class myClass(): def help(self): os.system('./ssh.py') def nope(self): a = [1,2,3,4,5,6,67,78] for i in a: print(i) sleep(1) if __name__ == "__main__": Yep = myClass() thread = Thread(target=Yep.help) thread2 = Thread(target=Yep.nope) thread.start() thread2.start() thread.join() print('Finished')</code>
향상된 솔루션:
<code class="python">from threading import Thread from time import sleep def threaded_function(arg): for i in range(arg): print("running") sleep(1) if __name__ == "__main__": thread = Thread(target=threaded_function, args=(10,)) thread.start() thread.join() print("thread finished...exiting")</code>
설명:
스레드 클래스를 사용하는 대신 이 향상된 스크립트는 대상 함수와 필요한 인수를 Thread 생성자에 전달하여 스레드를 직접 생성하는 방법을 보여줍니다. target 매개변수는 별도의 스레드에서 실행될 함수를 지정합니다. 이 경우 threaded_function() 함수는 메인 스레드와 동시에 호출됩니다. Join() 메소드는 실행을 계속하기 전에 메인 스레드가 스레드가 완료될 때까지 기다리도록 합니다.
위 내용은 스레드 함수를 사용하여 Python 스크립트에서 두 함수를 동시에 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!