Re[34]: Можно ли избавиться от async|await?
От: · Великобритания  
Дата: 19.12.25 17:55
Оценка: :)
Здравствуйте, Serginio1, Вы писали:

S>>>·>Какие конкретно камни ты имеешь в виду и как они обходятся в c#?

S>·>ИЧСХ, ответа не последовало.
S> Я тебе уже приводил статью, там все расписано.
Т.е. статью ты не осилил, на простой вопрос ответить не можешь. ЧТД.

S>>>В том, что бы перенести старый код. Только и всего.

S>·>Т.е. самоцель. Ценность переписывания кода — перенести старый код. Круто, чё. Хобби у тебя, видимо, такое: переписывание кода из пустого в порожнее.
S> Не самоцель, а необходимость переноса старого кода, для увеличения производительности серверов.
Откуда эта необходимость возникла, и как от неё можно избавиться?

S>·>Ок, т.е. ты соглашаешься, что код с потоками проще. Надеюсь, ты получил ответ на свой вопрос.

S> Я соглашаюсь, что он проще, но и примитивнее. Бейсик тоже простой, только вот много на нем не сделаешь.
Что конкретно у тебя не получается?

S>Многие тоже по началу воротили нос от задач с async/await

И сейчас воротят. См. сабж.

S>С Задачами у тебя намного больше свободы. Кроме того есть прекрасная вещь как TaskCompletionSource c которым ты сам можешь контролировать задачу.

Аналог CompletableFuture, похоже.

S>Пример

S>AsyncProducerConsumerCollection

S>public class AsyncProducerConsumerCollection<T>

Опасная структура. Она должна быть bounded size для создания back pressure, иначе всё навернётся в самый неподходящий момент. Вот только добавить maxSize ты уже вряд ли осилишь.

S>Используя эту структуру данных, можно написать код, например следующий:

Тут ведь как... Можно написать, но можно и не писать! Меньше кода — лучше.

S>Кроме того и от блокировок можно избавляться

Так ведь можно и не избавляться!

S>
S>// БЫЛО
S>// СТАЛО
S>

Было мало кода, был простой код. Стало много сложного кода. Что ты хотел мне этим продемострировать?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.