참고 || Pyhton3 스레드 원리만큼 전진

# 멀티 스레딩

하나 개 이상의 스레드 # 과정에 해당

#에는 멀티 스레드 프로그래밍, 프로세스는 메인 스레드가없는 경우

# 그러나 멀티 스레드 프로그래밍, 프로세스는 메인 스레드를 포함한 여러 스레드를 포함

# 동시 프로그램을 달성 할 수 스레드를 사용하여

# 스레드 지원을 많이 Python3 스레딩 모듈

# 수입 스레딩

# python3에서, 스레드는 두 가지 방법으로 만들 수 있습니다

'' '
두 가지 방법 :

     ① 사용 threading.Thread 실행 기능을 직접 스레드 (스레드를 생성하기 위해 Thread 클래스의 생성자를 호출).

         파라미터를 타겟팅 (함수명) 함수 객체를 전달;

         인수 파라미터 : 목적 함수의 파라미터로서, 투플을 통과;

         다음 단계 :

             1 - 실행 쓰레드로 객체를 생성 할 때, 대상 매개 변수는 지정된 함수를 스레드 객체를 생성하기 위해 Thread 클래스의 생성자를 호출

             2 - 호출 스레드 객체 별 () 메소드는 스레드를 시작합니다

     ② 상속 스레드 클래스는 스레드 클래스를 만들 수 있습니다.

         다음 단계 :

             실행 () 메소드가 실행 스레드라고 있도록 1-- Thread 클래스, 클래스와 재정의 run () 메소드의 서브 클래스 정의는, 메소드 본문의 run () 메소드는 작업을 완료하는 데 스레드 요구를 나타냅니다

             2 - 스레드의 서브 클래스의 인스턴스를 생성, 스레드 객체가 만들어집니다

             3 - 호출 스레드 객체 별 () 메소드는 스레드를 시작합니다

     첫 번째 방법은 함수를 대상 스레드이 간단한 프로그래밍 방법, 직접 포장 실을 만드는 권장 선명을 갖는 논리 구조
''

# 메인 쓰레드의 이름을 얻는 방법

# threading.current_thread (). getName ()

# 쓰레드 스케줄링

# 시작 방법은 스레드를 시작합니다

# 방법 대기중인 스레드에 가입

수입 스레딩

수입 시간


데프 thread_run (이름) :

time.sleep (2)

인쇄 ( "%의 첫 번째 스레드!"% 이름)


T1 = threading.Thread (목표 = thread_run, 인수 = ( 'peiyanan'))

T2 = threading.Thread (목표 = thread_run, 인수 = ( 'tanyongling'))

t1.start ()

t2.start ()

t1.setName ( '아이 thread 1') 스레드 이름의 # 설정 이름

인쇄 (t1.name) # 인쇄 스레드 이름

인쇄 (t1.getName ()) # 가져 오기 스레드 이름

실행중인 스레드가 거짓 표시됩니다 실행 여부를 결정하기위한 (t1.is_alive ()) # 가능한지 () 메소드를 인쇄

# () T1.join
#의 t2.join ()  
# 인쇄 ( '메인 쓰레드가 실행!')


# ------------------------------------------------- ------


# 어떻게 우아한 사용하는 멀티 스레딩

# 번호는 생성 스레드 제어 루프가 사용될 수있다

# 메뉴 = [ '수학', '영어', '언어', '지리', '역사']

메뉴 # m의 경우 :

# t = threading.Thread (목표 = thread_run, 인수 = (m, 2))

# t.start ()


# 쓰레드 스케줄링

하나 개의 스레드를 허용하지 않습니다 # 운영 시스템은 CPU에 의해 점령되었다

# 스레드 생명주기
'' '
네 가지 상태 :
① 스레드가 초기화 되었으나, 시작되지 않았다 새로운 상태 수단
상태를 실행하면 정상적인 실행 스레드를 의미 ②
③ 스레드가 실행중인 상태 수단을 차단하지만 수행하기 위해 CPU를하지 않았다 시간 상대 스레드 CPU에서 대기 상태가 실행 중
④ 사망 상태은 스레드 실행의 끝을 의미한다
''

# 스레드는 점을 알고 있어야합니다 사용
'' '
고유의 자원이 스레드
라는 지역 변수를 작동 스레드는 것 자체의 사본을
하지 않습니다 충돌
실 것입니다 때로는 발달에 문제가 원인 : 같은 같은 글로벌로 공유 데이터에 대한 액세스로 변수
'' '

추천

출처www.cnblogs.com/peipei-Study/p/12095400.html