Потоки: github.com/How... Атомарные операции: github.com/How... Курс «100 лекций по программированию» habr.com/post/... #Atomics #SharedArrayBuffer #worker_threads #nodejs #javascript #js
Пікірлер: 22
@TimurSevimli Жыл бұрын
Все лекции очень полезные но для меня это один из самых интересных было , конечно же после лекции про акторов, спасибо большое за знаний и полезных примеров!
@RUSGALEDON5 жыл бұрын
Урааа, как же долго я ждал ваших видео. А вы Микросервисы будете проходить?
@alexfive7000 Жыл бұрын
Вот голова, спасибо большое.) Сложная тема но я хочу понять её тоже. Я тут поразмыслил и думаю как это можно применить в дизайне. Если например я сделаю сайт с одной большой анимацией, где например земля кружится вокруг своей оси, затем вокруг солнца, тут же что-то там на земле мерцает и разделю это всё на части, где каждую часть будет выполнять отдельный воркер, то анимация будет быстрее работать, нежели в основном потоке? Или например я на сайте хочу сделать очень много анимаций и чтобы каждую анимацию обрабатывал свой воркер. Это будет быстрее нежели если бы я всё это написал как обычно в одном .js файле?
@taras78442 жыл бұрын
00:00 - початок 03:53 - про worker_threads 12:20 - сепарація на worker i master 14:57 - як використовувати worker 25:00 - про Atomics 41:00 - Atomics і worker_threads робота в парі
@WebDevelopment_Gelistirme Жыл бұрын
We really need English explanation Hope you can do updated one ..... thank you !!!
@TimurShemsedinov Жыл бұрын
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
@evgenkaban60185 жыл бұрын
Да про микросервисы интересно было б
@TimurShemsedinov5 жыл бұрын
Наступит день и я скажу все, что я думаю про микросервисы )))
@Andrey-qf8uw4 жыл бұрын
Круто, спасибо Тимур!
@alekseydanchin4 жыл бұрын
А если SharedArrayBuffer в разных потоках по разному типизируются, то это повлияет на работу Atomics? Например если будут пересекаться области хранения числа в буфере для числе разных разрядностей. Worker унаследован от EventEmitter, то метод postMessage это оболочка для emit? И можно отправить в transferList свой же workerData?
@user-gq8fs4to3v2 жыл бұрын
Тимур, возможно ли вынести работу с потоками в отдельный слой абстракции, чтобы не требовалось менять бизнес-логику? Подскажите пожалуйста что посмотреть / почитать чтобы достичь этого.
@TimurShemsedinov2 жыл бұрын
Обязательно нужно, такие абстракции называются "примитивы параллельного программирования" и для веба есть стандарт web locks API это примерно так же, как абстракции асинхронного программирования в js: Promise, EventEmitter, ConcurrentQueue
@user-gq8fs4to3v2 жыл бұрын
@@TimurShemsedinov, большое спасибо за ответ!
@TimurShemsedinov2 жыл бұрын
@@user-gq8fs4to3v Чтобы алгоритм был абстрагирован от того, однопоточно или многопоточно он запускается нужно его писать в функциональной парадигме
@theb1z0n5 жыл бұрын
Где можно почитать про то, как в nodejs добились многопоточности?
@TimurShemsedinov5 жыл бұрын
kzbin.info/www/bejne/Y6TWdK1-pLp8ba8
@TimurShemsedinov5 жыл бұрын
kzbin.info/www/bejne/hJDblHVojNF2kMU
@TimurShemsedinov5 жыл бұрын
github.com/nodejs/node/pull/20876
@artishoo2 жыл бұрын
Да с NAPI это можно сделать супер легко. Можно хоть свою реализацию многопоточности сделать.
@tsolaa5 жыл бұрын
Are there subtitles in English?
@tsolaa5 жыл бұрын
@@TimurShemsedinov Thank you. It is helpful. Yet... there has to be some poor language university student willing to do the translation ;) I do hope.
@TimurSevimli Жыл бұрын
Атомарное замечание о атомарных операций, Atomics.notify не будет уведомлять все процессы, а будет уведомлять все потоки работающие в одном процессе. И еще возвращает число который дает знать, сколько потоков пробуждалось с использованием Atomics.notify (в данном лекции выводиться 0 так как нету потоков).