2014-03-04 7 views
3

다중 처리 객체 (대기열, 사전 등)를 여러 개의 gevent 스레드에 전달하는 것이 안전합니까? 실제로는 동시에 실행되지 않기 때문에 문제가 있다고 생각하지 않습니다. 그러나 gevent가 멀티 프로세싱과 구체적으로 호환되지 않아야한다는 것을 알고 있습니다.다중 스레드 대기열/사전/etc ..을 녹색 스레드에 전달

답변

0

이점은 손실 될 가능성이 있으며 표준 스레드 대기열은 녹색 스레드가 느려지는 잠금을 구현합니다. 고맙게도, gevent는 종종 자체적이지만 유사한 구조를 가지고 있습니다. 체크 아웃 gevent.queue

0

나는 스레드 안전 객체라고 말하고 위험하지 않지만, 항상 그것에 대해 열심히 생각해야합니다. 스레드 안전하지 않은 경우 메서드의 재진입 성 및 원자 적이지 않은 다른 개체 작업의 결과에 대해 걱정할 필요가 있습니다. 일부 객체는 상태 저장이므로 다른 스레드가 들어 오기 전에 특정 작업을 완료해야합니다.