파이썬 연구 노트 (21) - 프로세스, 쓰레드

1 스레드 VS, 처리

방법

  운영 체제를 들어, 작업 과정이다.

  프로그램의 구현 프로세스 인스턴스는 각각의 프로세스가 프로그램을 실행하는 데 필요한 모든 자원을 제공하는 과정이다.

  프로세스는 메인 쓰레드, 0 개 이상의 자식 스레드가 포함되어 있습니다.

        쓰레드는 실행의 최소 단위이다.

        스레드가 자원을 할당하지 않습니다, 모든 스레드가 자원 동시에 프로세스와 스레드를 공유 할 수 있습니다.

스레드의 종류

        주요 스레드

        자식 스레드

        데몬 스레드

2 멀티 스레드

파이썬은 멀티 스레딩은 여러 개의 CPU를 사용하지 수, 그것은 단지 CPU에서 실행할 수 있습니다.

사용 멀티 스레딩 파이썬 스레딩 모듈

가져 오기 스레딩 #의 스레드 모듈 
가져 오기 시간 

DEF RUN (URL) : 
    time.sleep ( 2 )
     인쇄 (URL)
     인쇄 ( ' 실행 ... ' )
 DEF ) (EAT :
     인쇄 ( ' 먹고 ' ) 

START_TIME을 =로 time.time을 () #의 스탬프 프로그램을 실행하기 시작 

스레드 = [] 

에 대한 I  범위 (10 ) :
     #은 함수 이름의 실행 스레드를 인스턴스화 
    threading.Thread = (목표 = RUN의 T를 인수에게 =을 ( ' HTTP : // WWW. baidu.com' )) #의 매개 변수는 쉼표 추가해야합니다 
    t.start을 () # 이 스레드 시작 
    threads.append (t) # 스레드 목록에 추가 된 모든 자식 프로세스 

# : 스레드의 스레드 
#      를 Thread.join () # 사용이 가입을 메인 쓰레드는 다운 실행 서브 스레드 실행의 종료를 기다리는 

# 개 루프 상태에서 상기 한 방법 또는 방법 합류 사용 
# 자식 스레드 실행을 위해 메인 쓰레드 대기 완료하고 다음 절차를 수행 
하면서 threading.active_count () = 1 :! # 때주기가 끝날 때까지 스레드 1의 수, 
    패스 

인쇄 (threading.active_count ()) # 스레드의 현재 수 

END_TIME가 로 time.time () = #의 프로그램이 종료 될 때 타임 스탬프를 
인쇄 ( ' 런타임 ' END_TIME - START_TIME) #을메인 쓰레드의 실행 코드가 완성되고이 시간은 서브 - 스레드 실행 시간을 포함하지 않는다

 

추천

출처www.cnblogs.com/yanyan-/p/10966079.html