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

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

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

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

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

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

------

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

ukrainian.stackexchange.com - це питання-відповіді з української мови

2

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

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

OBSERVER
B
S
E
R
V
E
R

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

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

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

Говоріть українською! Живіть українською! Відчувайте українською!

3

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

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

ukrainian.stackexchange.com - це питання-відповіді з української мови

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

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

Yola написав:

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

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

Говоріть українською! Живіть українською! Відчувайте українською!

5

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

Yola написав:

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

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

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

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

------

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

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

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

https://blog.clever-games.win/
Це ще не кінець. Це навіть не початок кінця. Але, можливо, це кінець початку.
Зростання мудрості можна точно вимірювати ступенем зменшення злоби.
///// у творчій відпустці. не турбувати /////

6

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

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

ukrainian.stackexchange.com - це питання-відповіді з української мови

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
вивчайте, пробуйте -- ймовірно відповідь на вашу задачу знаходиться десь тут
(нажаль я не зміг повністю зрозуміти що саме ви хочете, і як саме, який результат отримати...)

https://blog.clever-games.win/
Це ще не кінець. Це навіть не початок кінця. Але, можливо, це кінець початку.
Зростання мудрості можна точно вимірювати ступенем зменшення злоби.
///// у творчій відпустці. не турбувати /////
Подякували: Monolith1