

프로세스 및 스레드
프로세스: 실행 중인 프로그램, 리소스 및 스레드로 구성
주제: 프로세스 내에서 실제 작업 수행
Python의 스레드
Python은 기본적으로 단일 스레드에서 순차적으로 실행되는 해석 언어입니다. 따라서 병렬 처리를 위해서는 별도의 모듈을 사용해야 합니다.
다중 스레드
에서 스레딩 수입 실
데프 일하다(직장 ID, 시작하다, 끝, 결과):
합계 = 0
~을 위한 나 ~ 안에 영역(시작 끝):
합계 += 나는
결과.추가(합계)
만약에 __성__ == “__주로__”:
결과 = ()
th1 = 스레드(대상=작업, 인수=(하나, 0, 10000결과))
th2 = 스레드(목표=작업, 인수=(2, 10001, 20000결과))
th1.start()
th2.start()
일1. 가입하다() # join() 메서드는 Python에게 프로세스가 종료될 때까지 기다리라고 지시합니다.
th2.join()
누르다(총(결과))
멀티프로세싱(POOL)
에서 다중 처리 수입 수영장
데프 에프(엑스):
돌려 주다 더블 엑스
만약에 __성__ == ‘__주로__’:
p = 풀(4)
결과 = p.지도(에프,(하나,2,삼,4))
p.닫기()
누르다(결과)
다중 처리
에서 다중 처리 수입 소송 절차
데프 에프(엑스):
누르다(더블 엑스)
만약에 __성__ == ‘__주로__’:
숫자=(하나,2,삼,4)
proc1= 프로세스(대상=f, 인수=(숫자(0)))
proc1.start()
proc2= 프로세스(대상=f, 인수=(숫자(하나)))
proc2.start()
proc3= 프로세스(대상=f, 인수=(숫자(2)))
proc3.start()
proc4= 프로세스(대상=f, 인수=(숫자(삼)))
proc4.start()
proc1.join()
proc2.join()
proc3.join()
proc4.join()
프로세스 대 풀
Pool과 Process 모두 병렬 처리에 사용되지만 차이점이 있습니다. 간단히 말해서 풀은 처리해야 하는 작업 집합입니다.
풀링되고 병렬 처리가 자체적으로 수행되며 Process는 각 프로세스에 대한 할당량을 명시적으로 지정합니다.
그것을 적어두고 작동하게하십시오.
• 물론 이는 이해를 돕기 위한 설명일 뿐 실제 둘의 차이는 좀 더 복잡하다.
멀티스레딩과 멀티프로세스
스레드는 가볍지만 Python의 GIL 정책으로 인해 대부분 I/O 처리에만 효과적이며 각 프로세스에는 고유한 스레드가 있습니다.
각 프로세스에는 자체 메모리 영역이 있으므로 첫 번째 프로세스 생성은 조금 더 오래 걸리고 더 많은 메모리를 사용합니다.
비싸지만 CPU 작업을 병렬로 할 수 있기 때문에 빠르다.
본 포스팅은 패스트캠퍼스 환불 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #파캄챌린지 #0원등록금챌린지 #환불챌린지 #직원교육 #직장에서의 자기계발
#Facam인강리뷰 #패스트캠퍼스리뷰 #오공완
#컴퓨터공학·인공지능전공 필수과목 심화 슈퍼갭패키지 온라인