Re[25]: "Питон не нужОн" (с) Google
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.05.24 09:16
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Ужось. А если одна часть приложения обратится к другой части приложения, а та еще не готова, это тоже продвинутый стейтменеджмент?


Именно. Вам же надо не абы как обратиться.

Вам нужно выстроить такую коммуникацию. В ui это делается через тот самый стейт менеджмент, т.е. в любой момент времени вам точно известно состояние каждой из частей приложения.
Re[25]: "Питон не нужОн" (с) Google
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.05.24 09:18
Оценка:
Здравствуйте, Pzz, Вы писали:

P>>А вот интересно, как вы многопоточность делали в досе?


Pzz>Путем переключение стеков. Что именно рассказать?


Механизм переключения какой был, если в кратце?
Re[26]: "Питон не нужОн" (с) Google
От: CreatorCray  
Дата: 09.05.24 10:28
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Механизм переключения какой был, если в кратце?

Скорее всего через прерывания таймера, перед возвратом подменяешь SP на SP из "другого потока", а SP от этого "потока" ныкаешь в карман. В итоге ты из прерывания вымаргиваешь уже в другой контекст.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[27]: "Питон не нужОн" (с) Google
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.05.24 11:04
Оценка:
Здравствуйте, CreatorCray, Вы писали:

P>>Механизм переключения какой был, если в кратце?

CC>Скорее всего через прерывания таймера, перед возвратом подменяешь SP на SP из "другого потока", а SP от этого "потока" ныкаешь в карман. В итоге ты из прерывания вымаргиваешь уже в другой контекст.

Меня интересует конкретный вариант, тк на ассемблере я сам такое пробовал.
Re[8]: "Питон не нужОн" (с) Google
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 10.05.24 22:04
Оценка:
Здравствуйте, SkyDance, Вы писали:

S>>Вместе с командой Python Google уволила команды Flutter и Dart


SD>Да сколько можно уж говорить, что все эти пертурбации ничего не говорят ни о языках, ни о технических возможностях. А лишь о политических играх в корпорации.

Ты так серьезно? Вообще это шутка была!
и солнце б утром не вставало, когда бы не было меня
Re[26]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.05.24 00:09
Оценка:
Здравствуйте, Pauel, Вы писали:

Pzz>>Путем переключение стеков. Что именно рассказать?


P>Механизм переключения какой был, если в кратце?


Ну, кооперативная, конечно. Когда одна нитка чего-нибудь ждала, вызывался скедулер, который переключался на следущую готовую для исполнения нитку. В целом, это совсем несложная вещь.
Re[24]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.05.24 00:16
Оценка:
Здравствуйте, Константин Б., Вы писали:

КБ>Конечно поверю. Так кто и что мешает поставить DOS и пользоваться им?


А 64Г оперативы и 16 ядер/24 потока CPU, за которые я деньги платил, с ними что прикажешь делать?
Re[27]: "Питон не нужОн" (с) Google
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.05.24 10:17
Оценка:
Здравствуйте, Pzz, Вы писали:

P>>Механизм переключения какой был, если в кратце?


Pzz>Ну, кооперативная, конечно. Когда одна нитка чего-нибудь ждала, вызывался скедулер, который переключался на следущую готовую для исполнения нитку. В целом, это совсем несложная вещь.


А можно подробнее, как вы это ожидание определяли?
Re[28]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.05.24 13:13
Оценка: 3 (1)
Здравствуйте, Pauel, Вы писали:

Pzz>>Ну, кооперативная, конечно. Когда одна нитка чего-нибудь ждала, вызывался скедулер, который переключался на следущую готовую для исполнения нитку. В целом, это совсем несложная вещь.


P>А можно подробнее, как вы это ожидание определяли?


У меня были обертки для всего, что мне надо, в таком блокирующемся POSIX-ном стиле. Скажем, функция n_read(), которая читала из сетевого сокета. Если в сокете было чего читать, она это сразу возвращала. А если читать было нечего, она вставляла текущую нитку в список ниток, которые надо разбудить, когда появится, пинала отдельную нитку, которая мониторила все сетевые сокеты и засыпала. Ну а когда в каком-то из сокетов что-то появлалось, мониторащая нитка это обнаруживала и будила всех, к кому это относится.
Re[29]: "Питон не нужОн" (с) Google
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.05.24 17:03
Оценка:
Здравствуйте, Pzz, Вы писали:

P>>А можно подробнее, как вы это ожидание определяли?


Pzz>У меня были обертки для всего, что мне надо, в таком блокирующемся POSIX-ном стиле. Скажем, функция n_read(), которая читала из сетевого сокета. Если в сокете было чего читать, она это сразу возвращала. А если читать было нечего, она вставляла текущую нитку в список ниток, которые надо разбудить, когда появится, пинала отдельную нитку, которая мониторила все сетевые сокеты и засыпала. Ну а когда в каком-то из сокетов что-то появлалось, мониторащая нитка это обнаруживала и будила всех, к кому это относится.


Я вот такое попробовал на жээсе замутить, что бы можно было полностью отделить приседания с бд, хттп и подобными вещами от логики, но пока что влип по самые нидерланды.
Идея в том что бы сделать многозадачный процессор всякой фоновой мешанины, которая зависит друг от друга
Re[30]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.05.24 17:23
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Я вот такое попробовал на жээсе замутить, что бы можно было полностью отделить приседания с бд, хттп и подобными вещами от логики, но пока что влип по самые нидерланды.

P>Идея в том что бы сделать многозадачный процессор всякой фоновой мешанины, которая зависит друг от друга

Go, со всеми своими легковесными потоками, примитивами синхронизации и т.п., умеет компилироваться в JS. И там у них работает ну примерно вообще всё, кроме того, что в JS в принципе невозможно (например, ходить по сети, куда хочешь).

Но я боюсь, для более-менее осмысленных применений это довольно толстенький JS получится
Re[31]: "Питон не нужОн" (с) Google
От: wl. Россия  
Дата: 11.05.24 17:42
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Но я боюсь, для более-менее осмысленных применений это довольно толстенький JS получится


Не думаю, что это прям огромная какая-то проблема. Вон, ren'py умеет в wasm https://www.renpy.org/
я для прикола загрузил игрулю на сайт и запустил с мобилки. Ну да, поначалу тупит и грузит ассеты, но не прям критично и неюзабельно, учитывая, что изначально там python
Re[32]: "Питон не нужОн" (с) Google
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.05.24 09:23
Оценка:
Здравствуйте, wl., Вы писали:

wl.>Не думаю, что это прям огромная какая-то проблема. Вон, ren'py умеет в wasm https://www.renpy.org/

wl.>я для прикола загрузил игрулю на сайт и запустил с мобилки. Ну да, поначалу тупит и грузит ассеты, но не прям критично и неюзабельно, учитывая, что изначально там python

В проекте чем меньше языков и платформ, тем лучше, особенно, если вы один это мейнтейните
Васм это отдельная платформа, го — тоже, плюс сам жеес- и вы уже погрязли непойми в чем
+ ограничения из за васм. Просто так расширить уже ни-ни

Вот казалось бы простая задача, вытащить часть вычислений в васм. А хрен там — для более менее взрослой модели вам придется все держать внутри васм, те фактически разработка перелезет в го

Для многих применений такое означает"сразу нет"
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.