스레드
-
[공부] 파이썬 코딩의 기술 책 정리 #7-2파이썬/책 정리 2021. 4. 21. 12:38
55. Queue를 사용해 스레드 사이에서 작업을 조율하라 동시성 작업을 처리할 때 가장 유용한 방식은 함수 파이프라인이다. 파이프라인은 순차적으로 실행해야 하는 여러 단계가 있고, 각 단계마다 실행할 구체적인 함수가 정해진다.작업은 매 단계 함수가 완료될 때마다 다음 단계로 전달되며, 더 이상 실행할 단계가 없을 때 끝난다. queue 내장 모듈에 있는 Queue는 새로운 데이터가 나타날 때까지 get 메서드가 블록되게 만들어서 작업자의 바쁜 대기 문제를 해결한다. 큐에 입력 데이터가 들어오기를 기다리는 스레드를 하나 시작한다. from queue import Queue my_queue = Queue() def consumer(): print('소비자 대기') my_queue.get() # 다음에 보여..
-
[공부] 파이썬 코딩의 기술 책 정리 #7-1파이썬/책 정리 2021. 4. 21. 12:34
7. 동시성과 병렬성 동시성 컴퓨터가 같은 시간에 여러 다른 작업을 처리하는 것처럼 보이는 것을 말한다. 동시성은 어떤 특정 유형의 문제를 해결하기 위한 도구로 사용된다. 동시 프로그램은 문제를 해결하는 과정이 동시에 독립적으로 시행되는 것처럼 보이게 한다. 병렬성 같은 시간에 여러 다른 작업을 실쩨로 처리하는 것을 말한다. 병렬성과 동시성의 가장 핵심적인 차이는 속도 향상에 있다. 어떤 프로그램의 서로 다른 두 실행 경로가 병렬적으로 진행되면 걸리는 시간이 반으로 줄어든다. 그러나 동시성 프로그램은 겉으로 볼 때는 병렬적으로 실행되는 것처럼 보이나, 전체 작업에 걸리는 시간은 빨라지지 않는다. 파이썬을 사용하면 다양한 스타일로 동시성 프로그램을 쉽게 작성할 수 있다. 스레드는 상대적으로 적은 양의 동시..