파이썬 멀티 작업의 기초

1. 멀티 태스킹 : 두 블록은 동시에 실행 
: 스레드를 생성하고 시작하지 2. 기능을
가져 오기 스레딩
threading.Thread가 (대상 = 함수 이름, 인수가 = 매개 변수 튜플) #이 정말 스레드 객체를 생성 = 스레드 이름 스레드, 대상
이 시간에 실행 스레드의 스레드 이름 .start () # 스레드 진짜를 생성하고 실행을 위해 예약 할 수 있습니다
3. 스레드의 끝이 :. 때 스레드 대상 기능이 완료 만들
프로그램이 기본 메인 스레드 실행이됩니다 4, 전체 프로그램 실행에 대한 책임 몸은 스레드의 종료 후 메인 스레드는 모든 자식에게 끝으로
스레드를 만들 5. 클래스 :
클래스의 정의가 threading.Thread에서 상속
실행 방법을 달성하는되는 코드 스레드를 넣어 수행
이 스레드를 생성 할 때, 그 클래스 (스레드 객체가 아닌 실제 스레드의 인스턴스에 해당)의 첫 번째 인스턴스가 다음 start () 메서드 (이 시간이 쓰레드 스케줄링을 만들 넘겨 실제 운영 체제입니다 호출 인스턴스 이름을 사용 )
6. 함수가 전역 포인트를 사용할지, 글로벌 변수를 수정할 때 전역 변수들이 수정되었는지 여부에 따라 달라
변경된 경우 전역 변수는 다른 곳을 가리하려면, 당신은 그렇지 gloabal없이, 글로벌 사용해야합니다
매개 변수를 대상으로 추가로, 스레드 객체의 경우를 작성, 스레드가 목적 함수의 매개 변수가있을 때 생성된다 7. 매개 변수 (튜플 기능 매개 변수)가 인수
(8). 멀티 스레드 공유 전역 변수
제 동기 및 상호 배타적 인 방법 :
threading.Lock과 ()에 의해 로크를 인스턴스화
각각 전 코드 잠금 .acpuire () 및 로크 .release를 추가 할 필요 후에. ()
코드의 실행 사이 갖는 원자 (즉, 수행 여부를 수행하거나)
개념 로크 세마포어 연산 장치로 이해 될 수있다

공유 자원 (10) 멀티 - 스레드 액세스가 교착 상태에 대한 해결책을 초래할 수있다 :
1. 타임 아웃 추가
2. 은행 알고리즘

차이 11. 프로세스 및 절차 : 간단한 이해 동적 하나의 정적 값 : 프로세스의 상태가 실행되고 + 자원 점유

상태 (12)에게 과정을 : 차단 실행하는 세 가지 주요 준비
13. 멀티 태스킹 방법 : 스레드, 프로세스, 코 루틴
: 프로세스가 다음 단계를 만듭니다 (14)를

인스턴스 이름은 = multipleporcessing.Porcess () 프로세스 객체의 인스턴스를
인스턴스. () 프로세스를 생성하고 OS 스케쥴러로 핸드 오버되기 시작

하는 프로세스가 자식 프로세스의 주요 포인트로 분할 될 수있다 (15)
(16) 각각 것은 프로세스를 생성, 또한 이와 자원 소비의 여러 신규 작성 처리 자식 메인 프로그램 리소스를 복사 할 큰, 자식 프로세스가 코드를 공유하는 여러 하위 프로세스의 프로그램 코드를 변경하지 않는 경우.
간단한 비교 처리와 스레드 (17) 프로세스는 자원 할당의 기본 단위이며, 멀티 스레드 실행의 기본 단위이다.
기능 : 복수, 예를 들면, 컴퓨터에, 채팅 창 오픈 예컨대 QQ의 QQ의 제 1 복수의


프로세스 간 통신 (18)의 중요한 방법 : 큐 큐 간 데이터를 공유 (프로그램은 분리 될 수있다)
(19). 프로세스 풀 풀 동적 전통적인 방법을 이용하여 식별되는 일반적인 상황의 불특정 다수 및 작업 소수의 처리 작업을 수행하기 위해 동적 할당 프로세스 여러 작업 공정의 특정 번호를 미리 작성
특징 : 작업 풀하는 과정 사용하여 프로세스를 반복합니다
(20) 프로세스 풀을 사용 :
멀티 프로세싱 가져 오기 풀에서
생성 프로세스 풀 인스턴스 인스턴스 이름을 = 풀 (프로세스 풀 수)

필요할 때 (인스턴스 이름 .apply_async을 실행하는 유통 과정의 함수로 함수 이름, 인수 튜플)) (프로세스 풀의 경우를 고려할 필요가 할당하는 과정, CALL 문에도 불구하고 필요한 경우, 시스템이 자동으로 관리하고 (자동 차단 및 자동 호출을 구현 완료 점유)

보다 더 만들 필요없이 수영장 폐쇄 공정 인스턴스 이름 .close () 작업 할 때
주요 프로세스 인스턴스 이름 .join ()을 완료하기 위해 모든 자식 프로세스를 기다린다

(21) 프로세스 풀주의의 사용 : 프로세스를 사용하여 풀을 완료하면, 메인 풀 프로세스가 반드시 프로세스의 프로세스 기다리지 않습니다, 조인 프로세스 풀 할당 프로세스가 완료된 후 호출 할 필요가 모든 작업을 완료하기 위해 모든 풀 프로세스를 얻기 위해 () 메소드
22.isinstance (객체 클래스)는 객체가 클래스의 인스턴스인지 여부를 확인합니다.
단순히 반복에 의해 이해 될 수있다 (23) 객체가 다음 요소를 통과 할 수있는 개체의 __iter의 __ () 메소드를 얻을 수있다
단순히 이해 반복기 : 다음 값이 개체 다음 () 방법에 의해 획득 될 수 있으며, __iter)는 (__ 달성 과의 __next의 __ () 메소드
반복자가 있어야하는 반복자 객체입니다
24.Custom의 반복 가능 객체가 : 클래스의 메소드를 구현 __iter__, 방법은 클래스의 반복자 오브젝트 인스턴스가 반복 가능한 것입니다 반환
25. 맞춤 반복자 클래스에 __next__ 구현에있어서, 각 반복의 리턴 값. 반복자 모든 데이터, 획득 된 데이터를 저장하는 방법만을 저장하지 않고 다음 __iter의 __ () 메소드를 구현 자체를 반환
반복적 인 방식으로 구현할 때, 개별적으로 반복 반복자 객체를 직접 얻을에 이터레이터 수있다 구현 될 수있다
(26). 반복기를 얻을 __iter의 __ ()에있어서의 반복 가능 객체에 의해 다음 반복주기 값 매번 수득 다음 (반복자 반환)를 호출
_ 착신 객체 상기 물질 (28), 다음 (반복 가능 객체) 방법 - 다음 __ () 메소드
29 발생기 : 특수 반복자, 알고리즘은 모든 저장된 데이터를 호출하고 다음의 루프 방법에 사용할 수있는 데이터를 생성 만 남겨
발생 제 두 가지 방법 :
1.를 이 함수 발생기 될 경우 수율 복귀 함수 값은 단방향 함수 (파라미터)를 기준으로 변수 이름을 생성하는 함수 발생기 = 생성
방정식 반복 가능 객체에 I, 난과 (2 생성 유도를 )

30.yield 문 가변 수율 명세서의 내용을 복사하기 위해 제공 될 수있다) 방식 .send 발생기 (변수 변수 변수 명 = 항복 변수에 할당 될 수있다
(31) 효과 생성기 : 함수 문의 실행 결과를 돌려 보자, 나머지 문장을 계속할 수
32. 수율이 교대로 수행되는 다수의 태스크에 의해 달성 될 수있는
다수의 태스크의 실행을 관리하는 ,, 상기 수득 캡슐화 33.greenlet
34 효율 : 공동 상기 범위보다 높은 멀티 스레드 다중 프로세스
gevent의 일반적인 사용은 코 루틴을 구현 35

추천

출처www.cnblogs.com/burningcarbon/p/11220189.html