Как стать автором
Обновить

Приручаем многопоточность в Node.js (часть 3/5: разделяемая память, атомарные операции и блокировки)

Время на прочтение12 мин
Количество просмотров6.1K
Всего голосов 21: ↑21 и ↓0+21
Комментарии7

Комментарии 7

С subarray интересно, не обращал внимание на это.

Спасибо за цикл статей, с большим интересом прочитал и, на сколько это возможно было, вник в многопоточность в ноде, не смотря на то, что в текущей моей фронтэндерско/фуллстечной действительности это вряд ли когда-то пригодится.

Учитывая, что использовались только элементы стандарта JavaScript, ничто не мешает применять это и в браузере.

Спасибо за статью!

Прочитал пока только первую часть. И вопрос к ней:

А почему remain не в области разделяемой памяти? Когда мы делаем --remain, тут не может быть неопределённого состояния счетчика?

Как раз поскольку он НЕ в разделяемой памяти, а просто счетчик в main-потоке, то никаких конфликтов быть не может.

Спасибо за пояснение. Я так и подумал, но почему-то засомневался.

Дочитал до конца. Хотел было спросить, как же передаётся данные отправляются обрано в основной поток, как в пред. примере (worker.postMessage),

но внимательно всё сопоставив, кажется, понял. Как вы и написали, вместо события on('message'), поток дожидается освобождения блокировки.

Прекрасные статьи, спасибо большое!

В пятой части механика отслеживания блокировок еще модернизирована и применена в обе стороны - посмотрите.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий