Все лекции очень полезные но для меня это один из самых интересных было , конечно же после лекции про акторов, спасибо большое за знаний и полезных примеров!
Вот голова, спасибо большое.) Сложная тема но я хочу понять её тоже. Я тут поразмыслил и думаю как это можно применить в дизайне. Если например я сделаю сайт с одной большой анимацией, где например земля кружится вокруг своей оси, затем вокруг солнца, тут же что-то там на земле мерцает и разделю это всё на части, где каждую часть будет выполнять отдельный воркер, то анимация будет быстрее работать, нежели в основном потоке? Или например я на сайте хочу сделать очень много анимаций и чтобы каждую анимацию обрабатывал свой воркер. Это будет быстрее нежели если бы я всё это написал как обычно в одном .js файле?
А если SharedArrayBuffer в разных потоках по разному типизируются, то это повлияет на работу Atomics? Например если будут пересекаться области хранения числа в буфере для числе разных разрядностей. Worker унаследован от EventEmitter, то метод postMessage это оболочка для emit? И можно отправить в transferList свой же workerData?
Тимур, возможно ли вынести работу с потоками в отдельный слой абстракции, чтобы не требовалось менять бизнес-логику? Подскажите пожалуйста что посмотреть / почитать чтобы достичь этого.
Обязательно нужно, такие абстракции называются "примитивы параллельного программирования" и для веба есть стандарт web locks API это примерно так же, как абстракции асинхронного программирования в js: Promise, EventEmitter, ConcurrentQueue
@@АндрейБондаренко-к4т Чтобы алгоритм был абстрагирован от того, однопоточно или многопоточно он запускается нужно его писать в функциональной парадигме
Атомарное замечание о атомарных операций, Atomics.notify не будет уведомлять все процессы, а будет уведомлять все потоки работающие в одном процессе. И еще возвращает число который дает знать, сколько потоков пробуждалось с использованием Atomics.notify (в данном лекции выводиться 0 так как нету потоков).
00:00 - початок 03:53 - про worker_threads 12:20 - сепарація на worker i master 14:57 - як використовувати worker 25:00 - про Atomics 41:00 - Atomics і worker_threads робота в парі
Все лекции очень полезные но для меня это один из самых интересных было , конечно же после лекции про акторов, спасибо большое за знаний и полезных примеров!
Timurrrrrrrrrrrrrrrrrrrrrrrr :D Asselamun Aleykum :D
Вот голова, спасибо большое.) Сложная тема но я хочу понять её тоже. Я тут поразмыслил и думаю как это можно применить в дизайне. Если например я сделаю сайт с одной большой анимацией, где например земля кружится вокруг своей оси, затем вокруг солнца, тут же что-то там на земле мерцает и разделю это всё на части, где каждую часть будет выполнять отдельный воркер, то анимация будет быстрее работать, нежели в основном потоке? Или например я на сайте хочу сделать очень много анимаций и чтобы каждую анимацию обрабатывал свой воркер. Это будет быстрее нежели если бы я всё это написал как обычно в одном .js файле?
Урааа, как же долго я ждал ваших видео. А вы Микросервисы будете проходить?
А если SharedArrayBuffer в разных потоках по разному типизируются, то это повлияет на работу Atomics? Например если будут пересекаться области хранения числа в буфере для числе разных разрядностей.
Worker унаследован от EventEmitter, то метод postMessage это оболочка для emit? И можно отправить в transferList свой же workerData?
Тимур, возможно ли вынести работу с потоками в отдельный слой абстракции, чтобы не требовалось менять бизнес-логику?
Подскажите пожалуйста что посмотреть / почитать чтобы достичь этого.
Обязательно нужно, такие абстракции называются "примитивы параллельного программирования" и для веба есть стандарт web locks API это примерно так же, как абстракции асинхронного программирования в js: Promise, EventEmitter, ConcurrentQueue
@@TimurShemsedinov, большое спасибо за ответ!
@@АндрейБондаренко-к4т Чтобы алгоритм был абстрагирован от того, однопоточно или многопоточно он запускается нужно его писать в функциональной парадигме
We really need English explanation Hope you can do updated one ..... thank you !!!
Sorry, I have no time to translate to English but as a quick solution you can always follow links from description to see code examples in github
Где можно почитать про то, как в nodejs добились многопоточности?
th-cam.com/video/-ssCzHoUI7M/w-d-xo.html
th-cam.com/video/N_xcB2WlCZc/w-d-xo.html
github.com/nodejs/node/pull/20876
Да с NAPI это можно сделать супер легко. Можно хоть свою реализацию многопоточности сделать.
Да про микросервисы интересно было б
Наступит день и я скажу все, что я думаю про микросервисы )))
Круто, спасибо Тимур!
Атомарное замечание о атомарных операций, Atomics.notify не будет уведомлять все процессы, а будет уведомлять все потоки работающие в одном процессе. И еще возвращает число который дает знать, сколько потоков пробуждалось с использованием Atomics.notify (в данном лекции выводиться 0 так как нету потоков).
00:00 - початок
03:53 - про worker_threads
12:20 - сепарація на worker i master
14:57 - як використовувати worker
25:00 - про Atomics
41:00 - Atomics і worker_threads робота в парі
Are there subtitles in English?
@@TimurShemsedinov Thank you. It is helpful. Yet... there has to be some poor language university student willing to do the translation ;) I do hope.
@TimurShemsedinov Asselamu Aleykum Timur Aka :D