Тема: Collection v5
Показать сообщение отдельно
  #175 (permalink)  
Старый 22.07.2016, 14:49
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Реализация многопоточности на фронте - идиотизм?
Она уже есть. Идиотизм создавать ненужную абстракцию.

2 или 3 года назад, когда я впервые реализовал потоки на генераторах, я писал заметку:

Цитата:
В отличии от Worker-ов, которые являются сторонним API от браузера, потоки Collection полностью построены поверх JS, т.е. будут одинаково работать как в браузере, так и на сервере или десктопе, где есть поддержка ES6 generators. Потоки Collection могут быть созданы внутри WebWorker-а.

Также, поскольку потоки Collection работают в рамках потока, в котором были созданы, то у них есть прямой доступ к переменным замыкания и DOM, а в случае WebWorker потоки изолированы от главного потока и могут общаться только по средствам сообщений.

Количество создаваемых потоков Collection ограничено количеством доступной памяти и может достигать десятков и даже сотней тысяч одновременно работающих потоков, однако следует заметить, что чем больше создано потоков, тем медленнее они будут работать. В WebWorker в рамках домена количество создаваемых потоков строго ограничено и не может превышать некоторого небольшого числа (10-20 одновременных потоков).

Скорость выполнения задачи в потоке Collection обычно ниже, чем скорость простого выполнения в главном потоке или WebWorker, поэтому использовать такие потоки нужно в первую очередь, чтобы не блокировать главный поток, а не для увеличения общей скорости работы, т.к. внутри всё работает последовательно в рамках одного потока.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 22.07.2016 в 14:51.
Ответить с цитированием