>  기사  >  백엔드 개발  >  Thread를 서브클래싱하지 않고 함수를 사용하여 Python에서 스레드를 어떻게 만들 수 있나요?

Thread를 서브클래싱하지 않고 함수를 사용하여 Python에서 스레드를 어떻게 만들 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-10-25 07:05:29658검색

How can I create threads in Python using functions without subclassing Thread?

함수를 사용하여 Python에서 스레드 생성

문제:

두 함수를 동시에 실행하려면 Python 스크립트를 사용하는 경우 제공된 예제 코드를 사용하여 스레딩을 구현할 수 없습니다. 클래스 기반 접근 방식 대신 스레드 함수를 사용하는 것을 선호합니다.

해결책:

Thread의 하위 클래스를 사용하지 않고도 Python에서 스레드 함수를 사용하여 스레드를 생성할 수 있습니다. . 예는 다음과 같습니다.

<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>

설명:

  • threaded_function은 arg 인수로 정의되며 그 안에서 원하는 작업을 수행할 수 있습니다.
  • 메인 스레드에서 Threaded_function을 대상으로 하고 인수 튜플을 args 매개변수로 사용하여 Thread 클래스의 인스턴스가 생성됩니다.
  • start()는 스레드 객체에서 호출되어 다음 작업을 수행합니다. 실행을 시작합니다.
  • join()은 계속하기 전에 스레드 실행이 완료될 때까지 기다리는 데 사용됩니다.

위 내용은 Thread를 서브클래싱하지 않고 함수를 사용하여 Python에서 스레드를 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.