Сообщение Re[16]: Убийца C и C++ (и не только) от 27.01.2022 13:03
Изменено 27.01.2022 13:23 Serginio1
Re[16]: Убийца C и C++ (и не только)
Здравствуйте, alex_public, Вы писали:
S>>Плюс стеклесс — хорошая масштабируемость.
_>Ну вообще то в большинстве языков разницы практические не будет. )))
Как я уже писал раньше
https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0
Для async await применяется WaitAsync https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.semaphoreslim.waitasync?view=net-5.0
то есть при ожидании переключения потоков не происходит, просто освобождается поток из пула потоков и берется новая или продолжается уже запещенная задача
S>>Плюс стеклесс — хорошая масштабируемость.
_>Ну вообще то в большинстве языков разницы практические не будет. )))
Как я уже писал раньше
https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0
Синхронизирующие примитивы ядра. Мьютексы, Семафоры и т. д. Это и есть основной источник проблем с производительностью. Недостаточно продуманная работа с синхронизирующими примитивами может приводить к десяткам тысяч, а в особо запущенных случаях — и к сотням тысяч переключений контекста в секунду. [источник не указан 2477 дней]
Для async await применяется WaitAsync https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.semaphoreslim.waitasync?view=net-5.0
то есть при ожидании переключения потоков не происходит, просто освобождается поток из пула потоков и берется новая или продолжается уже запещенная задача
Re[16]: Убийца C и C++ (и не только)
Здравствуйте, alex_public, Вы писали:
S>>Плюс стеклесс — хорошая масштабируемость.
_>Ну вообще то в большинстве языков разницы практические не будет. )))
Как я уже писал раньше
https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0
Для async await применяется WaitAsync https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.semaphoreslim.waitasync?view=net-5.0
то есть при ожидании переключения потоков не происходит, просто освобождается поток из пула потоков и берется новая или продолжается уже запещенная задача
https://devblogs.microsoft.com/pfxteam/building-async-coordination-primitives-part-5-asyncsemaphore/
S>>Плюс стеклесс — хорошая масштабируемость.
_>Ну вообще то в большинстве языков разницы практические не будет. )))
Как я уже писал раньше
https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0
Синхронизирующие примитивы ядра. Мьютексы, Семафоры и т. д. Это и есть основной источник проблем с производительностью. Недостаточно продуманная работа с синхронизирующими примитивами может приводить к десяткам тысяч, а в особо запущенных случаях — и к сотням тысяч переключений контекста в секунду. [источник не указан 2477 дней]
Для async await применяется WaitAsync https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.semaphoreslim.waitasync?view=net-5.0
то есть при ожидании переключения потоков не происходит, просто освобождается поток из пула потоков и берется новая или продолжается уже запещенная задача
https://devblogs.microsoft.com/pfxteam/building-async-coordination-primitives-part-5-asyncsemaphore/