>백엔드 개발 >파이썬 튜토리얼 >스레드 함수를 사용하여 Python 스크립트에서 두 함수를 동시에 실행하는 방법은 무엇입니까?

스레드 함수를 사용하여 Python 스크립트에서 두 함수를 동시에 실행하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-25 08:09:28845검색

How to execute two functions concurrently in a Python script using a threaded function?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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