Python에서 스레딩 모듈을 사용하는 방법

王林
풀어 주다: 2023-05-15 18:16:12
앞으로
2169명이 탐색했습니다.

파이썬의 스레딩 모듈에 대한 자세한 설명 스레딩은 스레드 동시성을 제공하기 위해 스레드 모듈보다 높은 수준의 API를 제공합니다. 이러한 스레드는 동시에 실행되며 메모리를 공유합니다.

스레딩 모듈의 구체적인 사용법을 살펴보겠습니다.

1. Thread 사용

대상 함수는 Thread 개체를 인스턴스화할 수 있으며 start() 메서드를 통해 실행을 시작할 수 있습니다.

멀티 스레드 동시성을 사용하는 것과 멀티 스레드 동시성을 사용하지 않는 것의 비교는 다음과 같습니다.

첫 번째는 멀티 스레드를 사용하지 않은 작업입니다.

코드는 다음과 같습니다.

#!/usr/bin/python 
#compare for multi threads 
import time 
def worker(): 
    print"worker" 
    time.sleep(1) 
    return 
    if__name__ =="__main__": 
    for i in xrange(5): 
    worker()
로그인 후 복사

실행 결과는 다음과 같습니다. :

Python에서 스레딩 모듈을 사용하는 방법

다음은 멀티 스레드 동시성을 사용한 작업입니다.

코드는 다음과 같습니다.

#!/usr/bin/python 
import threading 
import time 
defworker(): 
    print"worker" 
    time.sleep(1) 
    return 
    fori in xrange(5): 
        t=threading.Thread(target=worker) 
        t.start()
로그인 후 복사

Python에서 스레딩 모듈을 사용하는 방법

멀티 스레드 동시성을 사용한 작업의 시간이 훨씬 적게 걸리는 것을 분명히 알 수 있습니다.

2. threading.activeCount()

사용 이 메서드는 현재 프로세스의 스레드 수를 반환합니다. 반환된 숫자에는 기본 스레드가 포함됩니다.

코드는 다음과 같습니다:

#!/usr/bin/python 
#current's number of threads 
import threading 
import time 
defworker(): 
    print"test" 
    time.sleep(1) 
    for i in xrange(5): 
        t=threading.Thread(target=worker) 
        t.start() 
        print"current has %d threads" % (threading.activeCount() -1)
로그인 후 복사

Python에서 스레딩 모듈을 사용하는 방법

3.threading.enumerate()를 사용합니다.

이 메소드는 현재 실행 중인 Thread 객체의 목록을 반환합니다.

코드는 다음과 같습니다.

#!/usr/bin/python 
#test the variable threading.enumerate() 
import threading 
import time 
defworker(): 
    print"test" 
    time.sleep(2) 
    threads=[] 
    for i in xrange(5): 
        t=threading.Thread(target=worker) 
        threads.append(t) 
        t.start() 
        for item in threading.enumerate(): 
            print item 
            print for item in threads: 
                print item
로그인 후 복사

Python에서 스레딩 모듈을 사용하는 방법

4.threading.setDaemon()을 사용합니다.

백그라운드 프로세스를 설정하세요.

코드는 다음과 같습니다.

#!/usr/bin/python 
#create a daemon 
import threading 
import time 
def worker(): 
    time.sleep(3) 
    print"worker" 
    t=threading.Thread(target=worker) 
    t.setDaemon(True) 
    t.start() 
    print"haha"
로그인 후 복사

Python에서 스레딩 모듈을 사용하는 방법

worker() 메서드에서 인쇄 작업이 표시되지 않아 백그라운드 프로세스가 된 것을 알 수 있습니다.

위 내용은 Python에서 스레딩 모듈을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿