필자가 아는 한, 파이썬에서 멀티 코어 환경에서 일반 스레딩을 사용하면 GIL은 일반적으로 성능에 영향을 미치고 부정적인 방법 (스레드가 GIL을 지속적으로 획득 및 릴리스하고 스레드/프로세서간에 많은 컨텍스트 전환을 시도하기 때문에).내 파이썬 응용 프로그램을 멀티 코어에서 병렬로 작동하도록 설계하는 방법
많은 사람들이 녹색 줄을 사용하기 시작했습니다. 이벤트 릿. 이벤트 릿 라이브러리를 사용하면 여러 개의 녹색 스레드가 협력하여 작업 할 수 있으며 단일 프로세서에서 완벽하게 작동합니다 (동기화 문제가 적고 신속한 스폰/효율성 등).
제 질문은 멀티 코어 OS가 있고 파이썬 응용 프로그램을 설계한다면 협업 스레딩 (녹색 스레드)과 멀티 코어 프로세서의 장점을 모두 따라야하는 모범 사례 또는 설계 패턴이 무엇인지입니다. .
죽은 간단한 : IO 결합 == 스레드 CPU 결합 == 프로세스. 또한 Python 3.2 이상의 스레드는 이전 버전보다 훨씬 뛰어납니다. 2.7 – JBernardo
@JBernardo 답변을 제공하고 이유를 자세히 설명 할 수 있습니까? 또한 당신이 스레드를 말하는 이유, 스레딩 또는 녹색 스레드를 의미합니까? 몇 가지 구체적인 예를 들어 주시면 감사하겠습니다. – Shengjie
'threading' 라이브러리의 스레드와 같은 스레드. 이 질문은 SO 형식으로는 너무 광범위합니다 ... 당신이하고 싶은 것에 대한 실제 사례를 추가해야합니다. – JBernardo