- Dowiedziałem się, że node.js używać libeio wewnętrznie do wykonywania asynchronicznego plik I/O, z puli wątków, na * nix platformy, mam rację?
- Co o async sieci I/O? Czy robi to libev? Czy istnieje również puli wątków?
- Jeśli w środku jest pula wątków, jak może być bardziej wydajna niż tradycyjny model z jednym wątkiem na żądanie? I czy jest to jeden wątek na żądanie we/wy?
- A jaki jest mechanizm w systemie Windows? Wiem, że to zrobione przez IOCP, i jest pulpit wątku poziomu jądra, prawda?
- Dlaczego linux nie ma natywnego mechanizmu całkowicie AIO takiego jak Windows IOCP? Czy będzie w przyszłości?
Aktualizacja według odpowiedź changchang za:Zamieszanie o node.js mechanizm wewnętrzny asynchroniczne I/O
- Wzięłam szybki pogląd na source code @changchang dały, okazało się, że domyślny rozmiar puli wątków można skasować UV_THREADPOOL_SIZE, zastanawiam się w takim przypadku zostanie to wykorzystane?
- Znalazłem również getaddrinfo użyć tej puli wątku, czy jest tam więcej oprócz fs? A jeśli wszystkie zadania synchronizacji zostaną wykonane w tej puli wątków, czy domyślny rozmiar to "4"?
- Jak już rozumiem, w procesie node.js będzie 6 podstawowych wątków: 1 wątek V8 (pętla zdarzeń, w której uruchamiane są kody javascript użytkownika), 1 pętla zdarzeń libuv i 4 w puli wątków, czy mam rację?
A jak mogę zobaczyć te wątki w mojej powłoce (Ubuntu)? Używam ps -eL | grep node | grep -v grep widział tylko dwa:
głównego 16148 7492 16148 0 2 20:43 pkt/26 0:00:00 ./bin/node /home/aaron/workspace/test.js
pierwiastek 16148 7492 16149 0 2 20:43 pkt/26 0:00:00 ./bin/node /home/aaron/workspace/test.js
Zobacz tutaj http://stackoverflow.com/questions/10680601/nodejs-event-loop – user568109
node.js faktycznie korzysta [libuv] (https://github.com/joyent/libuv/) abstrahować asynchroniczne IO dla wszystkich obsługiwanych platform – Milan
@ user568109 Przeczytałem o tym, ale nie mogę uzyskać prostej odpowiedzi, w rzeczywistości niejasna ekspresja wprowadza mnie w zakłopotanie. Wspomniał, że libeio "wykonuje asynchronicznie dane wejściowe", w tym gniazda, wątpię w to. Nauczyłem się tego skądś: ponieważ nie można używać epola na zwykłych plikach, to tutaj przychodzi libeio, aby wykonać aio z wątkami. –