1 Востаннє редагувалося Yola (28.01.2017 21:55:26)

Тема: Виробник/споживач у Javascript

Задача реалізується в клієнтському скрипті в браузері.

Виробник: завантажує файли з диску. вміст файлів поміщає в контейнер (наразі безмежний).
Споживач: вибирає дані з контейнера, обробляє, зберігає в іншому контейнері (наразі безмежний).

Як організувати взаємодію? Як розбудити споживача коли в контейнері з'явився елемент? А якщо споживач наразі зайнятий?

Чи є взагалі багатопотоковість у браузерному Javascript? Якщо є, то як не пошкодити контейнер.

------

Схоже, що багатопотоковості нема, тому нема чого мудрувати.

2

Re: Виробник/споживач у Javascript

Як організувати взаємодію? Як розбудити споживача коли в контейнері з'явився елемент? А якщо споживач наразі зайнятий?

OBSERVER
B
S
E
R
V
E
R

А якщо споживач наразі зайнятий?

СТЕК ОПЕРАЦІЙ
Т
Е
К

О
П
Е
Р
А
Ц
І
Й
чи стек дій. Коротше, треба стек, в котрий додаються операції, а споживач буде перевіряти, чи в тому стеці є якась операція, і якщо є, то виконувати її (з початком виконання, операція звільнує стек).
Якщо операція лише одна, то в стек мона просто додавати елементи з контейнера, а споживач вже буде витягувати їх і робити всіляке з ними.

3

Re: Виробник/споживач у Javascript

Це все марно, адже багатопотоковості нема:(

4 Востаннє редагувалося FakiNyan (28.01.2017 22:12:05)

Re: Виробник/споживач у Javascript

Yola написав:

Це все марно, адже багатопотоковості нема:(

то це ж, навіть, простіше
заносите щось в контейнер, дістаєте з контейнеру, обробляєте
повторити

5

Re: Виробник/споживач у Javascript

Yola написав:

Задача реалізується в клієнтському скрипті в браузері.

Виробник: завантажує файли з диску. вміст файлів поміщає в контейнер (наразі безмежний).
Споживач: вибирає дані з контейнера, обробляє, зберігає в іншому контейнері (наразі безмежний).

Як організувати взаємодію? Як розбудити споживача коли в контейнері з'явився елемент? А якщо споживач наразі зайнятий?

Чи є взагалі багатопотоковість у браузерному Javascript? Якщо є, то як не пошкодити контейнер.

------

Схоже, що багатопотоковості нема, тому нема чого мудрувати.

як мінімум на одне ваше запитання я можу дати відповідь --
http://learn.javascript.ru/ajax
вебсокети

про багатопоточність -- не зрозумів
це мається на увазі на сервері чи в браузері?
на сервері - ноду я би не брав(там конвеєр замість справжньої паралельності, тим більше я працюю з erlang/elixir -- де є справжня паралельність )
в браузері -- так канал вебсокета двосторонній, незалежний, велкам в паралельність

6

Re: Виробник/споживач у Javascript

Мене цікавила багатопотоковість у браузері, так щоб до сервера не звертатись, тобто всю обробку виконати у клієнта.

7

Re: Виробник/споживач у Javascript

Yola написав:

Мене цікавила багатопотоковість у браузері, так щоб до сервера не звертатись, тобто всю обробку виконати у клієнта.

http://learn.javascript.ru/setimmediate
http://learn.javascript.ru/promise
http://learn.javascript.ru/generator
а також
http://learn.javascript.ru/events-and-timing-depth
вивчайте, пробуйте -- ймовірно відповідь на вашу задачу знаходиться десь тут
(нажаль я не зміг повністю зрозуміти що саме ви хочете, і як саме, який результат отримати...)

Подякували: Monolith1