Python에서 멀티 스레드를 사용하지 않는 이유(Java와 비교, GIL)
·
Python
파이썬에서 멀티 스레드를 잘 사용하지 않습니다. 대부분 멀티 프로세싱을 사용합니다. 그 이유가 뭘까요?핵심만 먼저 말하자면, 병렬성이 제대로 이뤄지지 않기 때문입니다. CPU 코어가 남는 경우, 스레드는 병렬적으로 실행되게 됩니다. 반대로 코어가 하나만 있다면 순차적으로 실행됩니다. 그런데 파이썬은 어떠한 조건에서도 멀티 스레드가 순차적으로 실행되는 모습을 보여줍니다. 한번 테스트를 해볼까요? Python 멀티 스레드 테스트import threadingimport timedef thread(): start = time.time() a = 1 for i in range(10000000): a += i print(threading.current_thread().name,":..