Сообщение Re[37]: Можно ли избавиться от async|await? от 20.12.2025 10:22
Изменено 20.12.2025 10:28 Serginio1
Re[37]: Можно ли избавиться от async|await?
Здравствуйте, ·, Вы писали:
S>>·>Было мало кода, был простой код. Стало много сложного кода. Что ты хотел мне этим продемострировать?
S>>Угу был дермовый код с блокировками потоков и хранением переменных привязанных к потоку.
·>Что в этом плохого?
Ты серьезно? Проблема серверов в переключении потоков, на это тратится время.
При использовании задач используется пул потоков, а задача представляет собой замыкание с автоматом переходов после выполнения задачи.
По сути это энумератор с MoveNext
S>>Стал неблокирующий потоки, при этом код внутри монитора может быть асинхронный и переменные привязанные к задаче.
·>Чем это лучше?
Ну во первых lock используется только внутри одного потока, при использовании асинхронного подхода нужно использовать SemaphoreSlim.
То есть количество кода будет тем же или больше.
Остальное смотри выше.
S>>·>Было мало кода, был простой код. Стало много сложного кода. Что ты хотел мне этим продемострировать?
S>>Угу был дермовый код с блокировками потоков и хранением переменных привязанных к потоку.
·>Что в этом плохого?
Ты серьезно? Проблема серверов в переключении потоков, на это тратится время.
При использовании задач используется пул потоков, а задача представляет собой замыкание с автоматом переходов после выполнения задачи.
По сути это энумератор с MoveNext
S>>Стал неблокирующий потоки, при этом код внутри монитора может быть асинхронный и переменные привязанные к задаче.
·>Чем это лучше?
Ну во первых lock используется только внутри одного потока, при использовании асинхронного подхода нужно использовать SemaphoreSlim.
То есть количество кода будет тем же или больше.
Остальное смотри выше.
Re[37]: Можно ли избавиться от async|await?
Здравствуйте, ·, Вы писали:
S>>·>Было мало кода, был простой код. Стало много сложного кода. Что ты хотел мне этим продемострировать?
S>>Угу был дермовый код с блокировками потоков и хранением переменных привязанных к потоку.
·>Что в этом плохого?
Ты серьезно? Проблема серверов в переключении потоков, на это тратится время, плюс память на стек для потока.
При использовании задач используется пул потоков, а задача представляет собой замыкание с автоматом переходов после выполнения задачи.
По сути это энумератор с MoveNext
S>>Стал неблокирующий потоки, при этом код внутри монитора может быть асинхронный и переменные привязанные к задаче.
·>Чем это лучше?
Ну во первых lock используется только внутри одного потока, при использовании асинхронного подхода нужно использовать SemaphoreSlim.
То есть количество кода будет тем же или больше.
Остальное смотри выше.
S>>·>Было мало кода, был простой код. Стало много сложного кода. Что ты хотел мне этим продемострировать?
S>>Угу был дермовый код с блокировками потоков и хранением переменных привязанных к потоку.
·>Что в этом плохого?
Ты серьезно? Проблема серверов в переключении потоков, на это тратится время, плюс память на стек для потока.
При использовании задач используется пул потоков, а задача представляет собой замыкание с автоматом переходов после выполнения задачи.
По сути это энумератор с MoveNext
S>>Стал неблокирующий потоки, при этом код внутри монитора может быть асинхронный и переменные привязанные к задаче.
·>Чем это лучше?
Ну во первых lock используется только внутри одного потока, при использовании асинхронного подхода нужно использовать SemaphoreSlim.
То есть количество кода будет тем же или больше.
Остальное смотри выше.