2013-11-02 5 views
2

Thin은 비동기 IO를 제공하는 EventMachine 위에 구축된다는 것을 알고 있습니다. RoR이나 Sinatra와 같은 랙 프레임 워크를 사용하고 (특별한 라이브러리를 사용하지 않고) 일부 DB 호출을 수행하는 경우 (웹 서버로 Thin을 사용하는 경우) 메인 이벤트 루프를 차단합니까?입출력을 할 때 주 스레드를 가늘게 차단합니까?

감사합니다.

답변

1

예.

표준 DB 클라이언트는 응답을 기다리는 동안 주 스레드를 차단하는 Ruby의 TCPSocket 위에 만들어집니다.

TCP 연결을 EM :: Connection으로 바꾸는 패치 클라이언트를 사용해야합니다. 그 중 일부는 EventMachine 라이브러리 자체에 표시됩니다.

관련 문제