>  기사  >  백엔드 개발  >  Python 멀티스레딩 애플리케이션(예제 포함)

Python 멀티스레딩 애플리케이션(예제 포함)

不言
不言원래의
2018-09-11 16:32:451292검색

이 기사에서 제공하는 내용은 Python 멀티스레딩 적용에 관한 것입니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

멀티스레딩을 소개하기 전에 먼저 아주 간단한 예를 살펴보겠습니다.

예:

#单线程实例
import time

def mark(index):
    print("Mark的帅,远近闻名,第%d次传播"%index)
    #暂停一秒,不然看不到效果哦
    time.sleep(1)

if __name__=="__main__":
    for i in range(6):
        mark(i)

결과: 순서대로 인쇄

Python 멀티스레딩 애플리케이션(예제 포함)

위는 단일 스레드 표시 효과입니다. 이제 멀티스레딩을 사용하여 처리해 보겠습니다. 그 전에 우리는 스레드 모듈이 파이썬의 상대적으로 낮은 수준의 모듈이라는 것을 알아야 합니다. 스레드를 쉽게 제어하기 위해 파이썬은 스레드를 캡슐화하기 위해 스레딩 모듈을 사용합니다.

예:

#多线程实例
import time
import threading

def mark(index):
    print("Mark的帅,远近闻名,第%d次传播"%index)
    #暂停一秒,不然看不到效果哦
    time.sleep(1)

if __name__=="__main__":
    for i in range(6):
        #定义子线程
        t=threading.Thread(target=mark,args=(i,))
        #启动子线程
        t.start()

효과:

Python 멀티스레딩 애플리케이션(예제 포함)효과를 볼 수 있습니다. 원래 단일 스레드인 순차 실행은 최소 6초가 걸리지만 멀티스레딩을 사용하면 완료하는 데 거의 1초가 걸립니다. 이는 우리가 멀티스레딩을 사용하는 이유입니다.

2. 메인 스레드는 종료되기 전에 모든 하위 스레드의 실행이 완료될 때까지 기다립니다.

이를 확인하는 것은 매우 간단합니다. 코드를 직접 보면 됩니다.

#主线程会等待所有子线程执行完成才结束
import time
import threading

def mark():
    #暂停3秒
    time.sleep(3)
    print("Mark的帅,远近闻")

if __name__=="__main__":
    print("程序开始执行了")
    # 定义子线程
    t = threading.Thread(target=mark)
    # 启动子线程
    t.start()
    print("单线程程序到这里主线程就会结束了,多线程呢,看看吧")

효과:

Python 멀티스레딩 애플리케이션(예제 포함)관련 권장 사항 :

Python 멀티 스레딩 예제 튜토리얼

Python 스레딩 멀티 스레딩 프로그래밍 예제

위 내용은 Python 멀티스레딩 애플리케이션(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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