2
IO 파일 비동기 (비 차단) :파이썬 eventlet - <a href="http://eventlet.net/" rel="nofollow">eventlet document</a>에 따르면
It uses epoll or libevent for highly scalable non-blocking I/O.
가 I/O를 여기에 내가 비 - 블로킹 (non-blocking) 알고는 소켓과 상호 작용하는 경우에 대해 설명합니다. 소켓이 이벤트 릿에 의해 초록색/패치가 붙으면 소켓 연결이 비 차단이됩니다.
내 질문은 :이 비 차단 I/O는 파일 I/O도 포함합니까?
그게 내가 알아 낸거야, 소켓 연결처럼, eventlet은 green/async no problem을 만들 수있다. 그러나 I/O 파일을 tpool에서 사용하지 않는 한 Greenpool은 비동기로 만들 수 없습니다. 따라서 녹색 쓰레드로 파일 I/O를하는 것은 의미가 없습니다. 맞습니까? 동일한 프로세스에서 다른 모든 것을 쉽게 협업 적으로 차단할 수 있기 때문입니다. – Shengjie
예 아니요. 각각의'open' 또는 다른 파일 작업은 실제로 모든 녹색 스레드를 차단합니다. 그러나 그것이 블록하는 시간은 대개 아주 작습니다. 다른 한편으로 아마존 EC2와 같은 대량의 공유 호스팅 (예 : 디스크 IO 기아 상태)으로 배포하는 경우 오랫동안 차단 될 수 있으며 'tpool'이 매우 유용합니다. 모든 것을 측정하는 것이 성공의 열쇠입니다. – temoto