자바 스크립트가 단일 스레드이므로 두 요청을 병렬로 처리 할 때 libuv가 어떻게 처리합니까? 예 : 약속 배열 만들기 및 후자 해결병렬 요청을 할 때 libuv에서 무슨 일이 일어 났습니까
답변
저는 실제로 libv8이 "비공개"인 두 개의 비동기 요청을 어떻게 처리하는지 묻습니다. Javascript는 단일 스레드이므로 동일한 순간에 시작할 수 없습니다. 하나는 시작될 것이고 JS는 더 많은 것을 실행할 수 있고 두 번째 것은 시작할 수 있습니다. 그들은 동시에 "진행중"이 될 것입니다.
먼저 nodejs에서 사용되는 라이브러리는 일반적으로 libv8이 아니라 libuv라고합니다. 여기에 the doc for libuv입니다.
libuv가 수행하는 방법에 대한 대답은 비동기 작업의 유형에 따라 다릅니다. 여기에 libuv site에서도는 다음과 같습니다 libuv에서
디스크 I/O는 스레드 풀을 통해 원시 스레드를 사용합니다. 네이티브 스레드는 각 디스크 I/O 작업을 실행 한 다음 완료되면 nodejs 이벤트 대기열에 이벤트를 넣습니다. 그러면 nodejs를 사용할 수있을 때 이벤트 대기열에서 해당 이벤트를 가져오고 비동기 I에 등록 된 콜백을 호출 할 수 있습니다/O 작업. 이 기능은 원래 libeio에서 제공되었지만 지금은 자체적으로 구현 된 것입니다.
libuv의 네트워킹 작업은 epoll, kqueue 및 IOCP와 같은 원시 OS 비동기 기능을 사용합니다.
감사합니다. 예, 저는 플랫폼이 처음입니다. –
기술적으로 당신은 요청을 병렬로 만들지 않습니다. 그 중 하나가 먼저 시작되지만, 끝나면 하나를 청취하고, 다른 하나는 처음으로 끝날 때까지 앞뒤로 청취합니다.
ans @ Johnathan Ralls를 주셔서 감사합니다. 나는 같은 것을 기대합니다. 하나씩 취합니다. 그러나 나는 한 남자에게서 들었습니다. 나는 그 당시에 완전히 이해하지 못했다. –
- 1. NUnit에 무슨 일이 일어 났습니까?
- 2. #WT에 무슨 일이 일어 났습니까?
- 3. goplay에 무슨 일이 일어 났습니까?
- 4. 여기에 무슨 일이 일어 났습니까?
- 5. Web.Authenticate.Facebook에 무슨 일이 일어 났습니까?
- 6. syscalls.h에 무슨 일이 일어 났습니까?
- 7. nStatic에 무슨 일이 일어 났습니까?
- 8. 태양에 무슨 일이 일어 났습니까? * 패키지
- 9. WCF RequestChannel; 정말로 무슨 일이 일어 났습니까?
- 10. tools :: texi2dvi - 무슨 일이 일어 났습니까?
- 11. 카우보이에서 cowboy_http_handler에게 무슨 일이 일어 났습니까?
- 12. Mono 2.11.X에 무슨 일이 일어 났습니까?
- 13. Delphi 2010 : TRTTIConstructor에 무슨 일이 일어 났습니까?
- 14. 여기 정확히 무슨 일이 일어 났습니까?
- 15. 내 $ _GET에 무슨 일이 일어 났습니까?
- 16. "cd //"를 사용할 때 리눅스 bash에서 무슨 일이 일어 났습니까?
- 17. asp.net mvc4의 팝업 대화 상자에서 무슨 일이 일어 났습니까
- 18. OpenSSO에는 어떤 일이 일어 났습니까?
- 19. 자바 스크립트 함수 - 참조로 복사되었지만 여기에 무슨 일이 일어 났습니까?
- 20. 브라우저에서 http 요청이 중단되었다고 말하면 실제로 무슨 일이 일어 났습니까?
- 21. 여기에 무슨 일이 일어 났습니까? 어떤 종류의 회원은 "Optional"입니까?
- 22. 아음속 스크린 캐스트에는 어떤 일이 일어 났습니까?
- 23. UnboundLocalError. 왜 이런 일이 일어 났습니까?
- 24. 어떻게 이런 일이 자바에서 일어 났습니까?
- 25. kfree 함수가 호출되었을 때 어떤 일이 일어 났습니까
- 26. 문자열을 처리하기 위해 "복사"를 사용하지 않을 때 정확히 무슨 일이 일어 났습니까?
- 27. pivot_root 일 때,/bin/sbin/etc/proc/sysfs ....에 무슨 일이 일어 났습니까?
- 28. 캐시 노드가 죽으면 Ehcache 분산 캐시에 어떤 일이 일어 났습니까?
- 29. 내 기능을 완료하는 데 부정적인 시간이 걸립니다. 세상에서 무슨 일이 일어 났습니까?
- 30. 스칼라 API 2.10. * : Function2.and 그 다음에 무슨 일이 일어 났습니까?
OS 계층에서도 비동기입니다. "병렬"요청이 아닌 * 동시 요청에 대해 이야기하는 것이 좋습니다. – Bergi
올바르게 넣어 주셔서 감사합니다 @Bergi –