파이썬의 스레딩 모듈에 대한 자세한 설명 스레딩은 스레드 동시성을 제공하기 위해 스레드 모듈보다 높은 수준의 API를 제공합니다. 이러한 스레드는 동시에 실행되며 메모리를 공유합니다.
스레딩 모듈의 구체적인 사용법을 살펴보겠습니다.
대상 함수는 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()
실행 결과는 다음과 같습니다. :
다음은 멀티 스레드 동시성을 사용한 작업입니다.
코드는 다음과 같습니다.
#!/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()
멀티 스레드 동시성을 사용한 작업의 시간이 훨씬 적게 걸리는 것을 분명히 알 수 있습니다.
사용 이 메서드는 현재 프로세스의 스레드 수를 반환합니다. 반환된 숫자에는 기본 스레드가 포함됩니다.
코드는 다음과 같습니다:
#!/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)
이 메소드는 현재 실행 중인 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
백그라운드 프로세스를 설정하세요.
코드는 다음과 같습니다.
#!/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"
worker() 메서드에서 인쇄 작업이 표시되지 않아 백그라운드 프로세스가 된 것을 알 수 있습니다.
위 내용은 Python에서 스레딩 모듈을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!