Информация об изменениях

Сообщение Re[18]: Убийца C и C++ (и не только) от 27.01.2022 11:50

Изменено 27.01.2022 12:11 Serginio1

Re[18]: Убийца C и C++ (и не только)
Здравствуйте, so5team, Вы писали:


S>Не обязательно все. Передача управления может выполняться неявно в специальных функциях, предназначенных для использования в зеленых потоках (типа lock, release, send, receive, listen, accept и т.д.)


S>>А иначе на трёх-четырёх десятках тысяч зелёных потоков всё станет плохо.


S>С чего бы это? И почему этого не произойдет на 30-40K одновременно запущенных stackless coroutines?

Ну для асинхрошщины как раз используются WaitAsync https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.semaphoreslim.waitasync?view=net-5.0
и прочие асинхронные замены синхронным блокировщикам потоков. Вопрос насколько эффективны это другой вопрос. Суть в том, что бы не блокировать очередь потоков.
Re[18]: Убийца C и C++ (и не только)
Здравствуйте, so5team, Вы писали:


S>Не обязательно все. Передача управления может выполняться неявно в специальных функциях, предназначенных для использования в зеленых потоках (типа lock, release, send, receive, listen, accept и т.д.)


S>>А иначе на трёх-четырёх десятках тысяч зелёных потоков всё станет плохо.


S>С чего бы это? И почему этого не произойдет на 30-40K одновременно запущенных stackless coroutines?

Ну для асинхрошщины как раз используются WaitAsync https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.semaphoreslim.waitasync?view=net-5.0
и прочие асинхронные замены синхронным блокировщикам потоков. Вопрос насколько эффективны это другой вопрос. Суть в том, что бы не блокировать очередь потоков.
Здесь обсуждали http://rsdn.org/forum/dotnet/7947025.flat
Автор: Sharov
Дата: 08.02.21