Re[20]: А что мешает заменить JS?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.03.17 07:40
Оценка: :))
Здравствуйте, gandjustas, Вы писали:

V>>Каждая асинхронная операция имеет возможность завершится конкурентно с другой, если реактор у нас работает, например, на пуле потоков поверх IOCP. Поэтому, прежде чем делать что-то асинхронно, в первую очередь необходимо выяснить потоковую модель такой асинхронности.

G>Завершаться может когда угодно, а коллбеки в JS вызываются строго последовательно. Если же ты попробуешь иницииоровать две асинхронные операции с одним ресурсом в одно время, о получишь или ошибку или одна выполнится после другой. Так что состояние гонки в js ты не получишь никаким образом.

Господи, "одна выполнится после другой" и дает те самые гонки, поскольку порядок выполнения недетерминирован.

V>>В одном потоке в node.js только твой JS-код выполняется, а сам-то node.js многопоточный, у него вся работа по вводу-выводу выполняется в других потоках.

G>Нет. Никакой ввод-вывод в других потоках не исполняется. Есть один поток выполнения, все хендлы принадлежат ему, весь ввод вывод инициируется в нем, все коллбеки выполняются тоже в нем.

Весь ввод-вывод выполняется в других потоках. JS-поток только шедулит вызов и принимает результат чз эвентлуп.

Вы ребята похоже один другого стоите.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.