Здравствуйте, Pzz, Вы писали:
Pzz>Ужось. А если одна часть приложения обратится к другой части приложения, а та еще не готова, это тоже продвинутый стейтменеджмент?
Именно. Вам же надо не абы как обратиться.
Вам нужно выстроить такую коммуникацию. В ui это делается через тот самый стейт менеджмент, т.е. в любой момент времени вам точно известно состояние каждой из частей приложения.
Здравствуйте, Pauel, Вы писали:
P>Механизм переключения какой был, если в кратце?
Скорее всего через прерывания таймера, перед возвратом подменяешь SP на SP из "другого потока", а SP от этого "потока" ныкаешь в карман. В итоге ты из прерывания вымаргиваешь уже в другой контекст.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
P>>Механизм переключения какой был, если в кратце? CC>Скорее всего через прерывания таймера, перед возвратом подменяешь SP на SP из "другого потока", а SP от этого "потока" ныкаешь в карман. В итоге ты из прерывания вымаргиваешь уже в другой контекст.
Меня интересует конкретный вариант, тк на ассемблере я сам такое пробовал.
Здравствуйте, SkyDance, Вы писали:
S>>Вместе с командой Python Google уволила команды Flutter и Dart
SD>Да сколько можно уж говорить, что все эти пертурбации ничего не говорят ни о языках, ни о технических возможностях. А лишь о политических играх в корпорации.
Ты так серьезно? Вообще это шутка была!
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Pauel, Вы писали:
Pzz>>Путем переключение стеков. Что именно рассказать?
P>Механизм переключения какой был, если в кратце?
Ну, кооперативная, конечно. Когда одна нитка чего-нибудь ждала, вызывался скедулер, который переключался на следущую готовую для исполнения нитку. В целом, это совсем несложная вещь.
Здравствуйте, Pzz, Вы писали:
P>>Механизм переключения какой был, если в кратце?
Pzz>Ну, кооперативная, конечно. Когда одна нитка чего-нибудь ждала, вызывался скедулер, который переключался на следущую готовую для исполнения нитку. В целом, это совсем несложная вещь.
А можно подробнее, как вы это ожидание определяли?
Здравствуйте, Pauel, Вы писали:
Pzz>>Ну, кооперативная, конечно. Когда одна нитка чего-нибудь ждала, вызывался скедулер, который переключался на следущую готовую для исполнения нитку. В целом, это совсем несложная вещь.
P>А можно подробнее, как вы это ожидание определяли?
У меня были обертки для всего, что мне надо, в таком блокирующемся POSIX-ном стиле. Скажем, функция n_read(), которая читала из сетевого сокета. Если в сокете было чего читать, она это сразу возвращала. А если читать было нечего, она вставляла текущую нитку в список ниток, которые надо разбудить, когда появится, пинала отдельную нитку, которая мониторила все сетевые сокеты и засыпала. Ну а когда в каком-то из сокетов что-то появлалось, мониторащая нитка это обнаруживала и будила всех, к кому это относится.
Здравствуйте, Pzz, Вы писали:
P>>А можно подробнее, как вы это ожидание определяли?
Pzz>У меня были обертки для всего, что мне надо, в таком блокирующемся POSIX-ном стиле. Скажем, функция n_read(), которая читала из сетевого сокета. Если в сокете было чего читать, она это сразу возвращала. А если читать было нечего, она вставляла текущую нитку в список ниток, которые надо разбудить, когда появится, пинала отдельную нитку, которая мониторила все сетевые сокеты и засыпала. Ну а когда в каком-то из сокетов что-то появлалось, мониторащая нитка это обнаруживала и будила всех, к кому это относится.
Я вот такое попробовал на жээсе замутить, что бы можно было полностью отделить приседания с бд, хттп и подобными вещами от логики, но пока что влип по самые нидерланды.
Идея в том что бы сделать многозадачный процессор всякой фоновой мешанины, которая зависит друг от друга
Здравствуйте, Pauel, Вы писали:
P>Я вот такое попробовал на жээсе замутить, что бы можно было полностью отделить приседания с бд, хттп и подобными вещами от логики, но пока что влип по самые нидерланды. P>Идея в том что бы сделать многозадачный процессор всякой фоновой мешанины, которая зависит друг от друга
Go, со всеми своими легковесными потоками, примитивами синхронизации и т.п., умеет компилироваться в JS. И там у них работает ну примерно вообще всё, кроме того, что в JS в принципе невозможно (например, ходить по сети, куда хочешь).
Но я боюсь, для более-менее осмысленных применений это довольно толстенький JS получится
Здравствуйте, Pzz, Вы писали:
Pzz>Но я боюсь, для более-менее осмысленных применений это довольно толстенький JS получится
Не думаю, что это прям огромная какая-то проблема. Вон, ren'py умеет в wasm https://www.renpy.org/
я для прикола загрузил игрулю на сайт и запустил с мобилки. Ну да, поначалу тупит и грузит ассеты, но не прям критично и неюзабельно, учитывая, что изначально там python
Здравствуйте, wl., Вы писали:
wl.>Не думаю, что это прям огромная какая-то проблема. Вон, ren'py умеет в wasm https://www.renpy.org/ wl.>я для прикола загрузил игрулю на сайт и запустил с мобилки. Ну да, поначалу тупит и грузит ассеты, но не прям критично и неюзабельно, учитывая, что изначально там python
В проекте чем меньше языков и платформ, тем лучше, особенно, если вы один это мейнтейните
Васм это отдельная платформа, го — тоже, плюс сам жеес- и вы уже погрязли непойми в чем
+ ограничения из за васм. Просто так расширить уже ни-ни
Вот казалось бы простая задача, вытащить часть вычислений в васм. А хрен там — для более менее взрослой модели вам придется все держать внутри васм, те фактически разработка перелезет в го