Понимание NodeJS и неблокирующий ввод-вывод

Итак, недавно я получил инъекцию вируса Node, который очень быстро распространяется в мире программирования.

Я очарован подходом «неблокирующий ввод-вывод» и действительно попробовал несколько программ сам.

Тем не менее, я не понимаю некоторые концепции в настоящее время.

Мне нужны ответы в терминах непрофессионала (кто-то из Java)

1. Многопоточность и неблокирование ввода / вывода.

Давайте рассмотрим практический сценарий. Скажем, у нас есть сайт, где пользователи могут зарегистрироваться. Ниже будет код.

..
..
   // Read HTTP Parameters
   // Do some Database work
   // Do some file work
   // Return a confirmation message
..
..

В традиционном языке программирования все вышеперечисленное происходит последовательно. И, если есть несколько запросов на регистрацию, веб-сервер создает новый поток, а остальное - история. Конечно, программисты могут создавать свои собственные потоки для одновременной работы со строкой 2 и строкой 3.

В Node, как я понимаю, строки 2 и 3 будут выполняться параллельно, в то время как остальная часть программы будет выполняться, а интерпретатор опрашивает строки 2 и 3 каждую 'x' мс.

Теперь мой вопрос: если Node является однопоточным языком, что выполняет работа со строками 2 и 3, пока выполняется остальная часть программы?

2. Масштабируемость

Недавно я читал, что LinkedIn адаптировал Node в качестве бэк-энда для своих мобильных приложений и увидел значительные улучшения.

Кто-нибудь может объяснить, как это изменило ситуацию?

3. Адаптация на других языках программирования

Если люди утверждают, что Node имеет большое значение, когда речь заходит о производительности, почему другие языки программирования не адаптировали эту парадигму неблокирующего ввода-вывода?

Я уверен, что что-то упустил. Только если вы можете объяснить мне и направить меня с некоторыми ссылками, будет полезно.

Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос