잘 작동했다. 파이썬이 주기적으로 스레드를 중단시키고, 예제에서는 스레드가 두 개만 있었기
때문이다. 한 스레드는 계산 위주의 작업을 수행하고 다른 하나는 단순히 초당
10
번의 애니메
이션을 수행했다.
multiprocessing
버전은
GIL
문제없이 잘 작동했다. 애니메이션만 수행하
는 프로세스를 새로 만들고 메인 프로세스에서는 소수 검사를 수행했다.
소수 검사를 여러 번 수행하는 다음 예제는
multiprocessing
과
threading
의 차이를 잘 보여
주었는데, 프로세스를 사용해야만 다중코어
CPU
를 파이썬이 제대로 활용할 수 있음을 알았
다. 파이썬의
GIL
때문에 계산 부하가 많을 때는 스레드 방식이 순차 방식보다 성능이 떨어진다.
파이썬에서 동시성 및 병렬 프로그래밍에 관해 이야기할 때는
GIL
에 관한 얘기가 대부분이지
만,
GIL
의 영향을 과대평가할 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.