2017-10-23 1 views
0

파이썬에 여전히이 전역 인터프리터 잠금 문제가 있다고 들었습니다. 결과적으로, 파이썬에서 쓰레드 실행은 실제로 멀티 쓰레드가 아니다.파이썬의 멀티 스레딩 지원

이 문제를 극복하기위한 가능한 해결책은 무엇입니까? 이 멀티 스레드 CPython의 프로그램을 방지하기 때문에

GIL은 논쟁의 여지가있다 : http://www.dabeaz.com/python/UnderstandingGIL.pdf

파이썬 위키에서 :

나는이 링크를 사용하는 것이 좋습니다 이해 파이썬의 GIL를 들어 파이썬 2.7.3

답변

1

을 것이다 사용하고 특정 상황에서 다중 프로세서 시스템을 최대한 활용하지 못하게합니다. I/O, 이미지 처리 및 NumPy 번호 크런치와 같은 잠재적으로 블로킹 또는 장기 실행 작업은 GIL 외부에서 발생합니다. 따라서 GIL이 병목 현상을 일으키는 것은 CPython 바이트 코드를 해석하는 GIL 내부에서 많은 시간을 보내는 멀티 스레드 프로그램에서만 발생합니다.

GIL 제거에 대한 논의가 있지만 아직 달성되지 못했다고 생각합니다. 사용자 정의 코드에 대해 멀티 스레딩을 실제로 수행하려는 경우 Java로 전환 할 수도 있습니다.

도움이되는지 확인하십시오.