Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
Где-то в степи
нативные потоки будут исполняться быстрее примерно в 5 раз
чем пуловые

Ололо. А почему не в 50, а то и, бери больше, в 500? В пуле какие-то особые потоки, в которые рантайм сам вставляет в случайных местах пустые циклы?
2 май 21, 11:56    [22317420]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
Где-то в степи
Member

Откуда: Под Таганрогом
Сообщений: 4370
fkthat,
а ты попробуй его архитектуру.
2 май 21, 13:26    [22317443]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
Где-то в степи
а ты попробуй его архитектуру.

Чью?
2 май 21, 13:28    [22317444]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
Где-то в степи
Member

Откуда: Под Таганрогом
Сообщений: 4370
fkthat,
у него закачка файлов, планировшик пула будет балансировать наргузку по минимальному количеству ядер,
 for (int d = 0; d < 100; d++)
 {
     Task.Run(() => { Thread.Sleep(200); Console.WriteLine($" done {++i}"); });
     //new Thread(() => { Thread.Sleep(200); Console.WriteLine($" done {++i}"); }).Start();
 }
            Console.Read();
2 май 21, 13:50    [22317448]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
Где-то в степи
fkthat,
у него закачка файлов, планировшик пула будет балансировать наргузку по минимальному количеству ядер,
 for (int d = 0; d < 100; d++)
 {
     Task.Run(() => { Thread.Sleep(200); Console.WriteLine($" done {++i}"); });
     //new Thread(() => { Thread.Sleep(200); Console.WriteLine($" done {++i}"); }).Start();
 }
            Console.Read();


А ты вот так попробуй, и увидишь, как твой говнокод сосед три раза:

const int N = 100;
const int DELAY = 1000;

Stopwatch sw = new();

sw.Start();
List<Thread> threads = new();
for (int d = 0; d < N; d++)
{
     Thread thread  = new(() => { Thread.Sleep(DELAY); });
     threads.Add(thread);
     thread.Start();
}
threads.ForEach(t => t.Join());
sw.Stop();
Console.WriteLine(sw.Elapsed);
sw.Reset();

sw.Start();
await Task.WhenAll(Enumerable.Repeat(0, N).Select(_ => Task.Delay(DELAY)));
sw.Stop();
Console.WriteLine(sw.Elapsed);
sw.Reset();
2 май 21, 14:16    [22317461]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
Где-то в степи
Member

Откуда: Под Таганрогом
Сообщений: 4370
fkthat,
гы пробовать не начем, но имхо не убедительно.
2 май 21, 14:26    [22317468]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
Где-то в степи
гы пробовать не начем,

Ну тогда и не пересказывай тут свои выдумки.
2 май 21, 14:30    [22317472]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 4177
автор, если ты используешь ReadAsync, то накой хрен тебе весь этот цирк с созданием тасков и прочим?
конечный метод чтения уже поддерживает асинхронность, больше тебе ничего не надо.
2 май 21, 18:01    [22317564]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
hVostt
Member

Откуда:
Сообщений: 19236
fkthat
А, все, понял. Ты просто перепутал WaitAll и WhenAll. У меня на Wait или Result уже просто рефлекторная реакция.


Да, не обратил внимания, спасибо :)

Сообщение было отредактировано: 2 май 21, 23:48
2 май 21, 23:55    [22317668]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
iskatelsql
Member

Откуда:
Сообщений: 862
Где-то в степи
цена вашего кода будет меньше цены бумаги на которой он написан.


Цена помидорок, которые Вы вырастите на даче будет меньше, чем цена помидорок, выращенных профессиональным селекционером.
3 май 21, 02:02    [22317690]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
iskatelsql
Member

Откуда:
Сообщений: 862
del что-то странное - вместо правки добавляет новое сообщение

Сообщение было отредактировано: 3 май 21, 01:58
3 май 21, 02:05    [22317691]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6174
iskatelsql
Честно говоря я не понял что из того, что по ссылке, может помочь.

Там написано, что возвращает Task.Factory.StartNew, если ему скармливают делегат с async. И из этого напрямую следует, почему
iskatelsql
на Task.WaitAll(tasks.ToArray()); программе стало наплевать, сразу переходит к записи времени в консоль

iskatelsql
Цена помидорок, которые Вы вырастите на даче будет меньше, чем цена помидорок, выращенных профессиональным селекционером.

Это общераспространённое заблуждение. Себестоимость любого продукта, произведённого в промышленных масштабах, ниже себестоимости кустарного производства.
3 май 21, 05:04    [22317704]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2510
>hVostt, вчера, 04:17 [22317373]
>посмотрите здесь
<
прибавление, и здесь
3 май 21, 11:19    [22317728]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 2510
>iskatelsql, 1 май 21, 15:44 [22317238]
>...Мне нужно было сделать чтение асинхронным, и я переписал так:
<
По идее должно работать. Посмотри здесь,
в части ReadAsync(Byte[], Int32, Int32). Примеры.
3 май 21, 13:21    [22317766]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
iskatelsql
Member

Откуда:
Сообщений: 862
Где-то в степи
и вы виртуалного работатдателя введете в заблуждение.

Да это на самом деле мое хобби, точнее приложение к хобби. Задачи типа переделать данные в формат, понятный какой ни будь программе. Мой код это топором переделанная копипаста из инета. Часто он нужен только один раз в жизни, и поэтому ни проверок ни юзер-интерфейсов не имеет - запускается из под отладчика. И если дважды два не намного больше пяти то сойдет :)

Где-то в степи
да ничего вы не знаете, по этому разговариваю с вами как с ребенком.

Да, не знаю, но давайте хотяб как со студентом-первокурсником. А то как с ребенком - это "туда не ходи сюда не лезь, брось бяку"...

Где-то в степи
а еще, с вашими хотелками

Это не хотелки, это изучение мастерской прежде чем изобретать в ней велосипед. Появилась "гениальная" идея - дай погуглю и спрошу, вдруг так и правда можно.

ЗЫ. я разбираюсь в отладчиках / дизассемблерах. Собственно мое знакомство с программированием началось с SoftIce. Понимать как все работает я умею, реверснуть несложную прогу без защит смогу, а вот красивый код писать - ну наверное не мое.

Сообщение было отредактировано: 4 май 21, 01:08
4 май 21, 01:10    [22318080]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
Забудьте вы наконец все про эти Wait, Result, Run и подобное, как будто их и нет вовсе. Run иногда может быть нужен, но единственное для чего он нужен - это завернуть синхронный код, который by design невозможно переделать в асинхронный путем помещения его в поток из пула. Всё.
4 май 21, 11:46    [22318173]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
hVostt
Member

Откуда:
Сообщений: 19236
fkthat
Забудьте вы наконец все про эти Wait, Result, Run и подобное, как будто их и нет вовсе. Run иногда может быть нужен, но единственное для чего он нужен - это завернуть синхронный код, который by design невозможно переделать в асинхронный путем помещения его в поток из пула. Всё.


Сложна :)
4 май 21, 12:01    [22318184]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
iskatelsql
Member

Откуда:
Сообщений: 862
fkthat
Забудьте вы наконец все про эти Wait, Result, Run и подобное, как будто их и нет вовсе.


я с асинхронностью дела никогда не имел, может и не туда лезу (хотя неплохо было б разобраться)

Допустим потоки: Вот представьте торрент-клиент: нужно коннектиться ко многим. Если мало потоков поставишь - а они (сидеры) ограничение скорости настроили в 100 кбит- некачается... Много поставишь - а там волна пойдет больше чем пропускная способность - цирк с конями, разрывы по таймаутам.

Вот я и хотел от этой асинхронности чтоб те, что ожидают пакет, в очередь ставились, а те что пакет принимают - принимали.

Сообщение было отредактировано: вчера, 00:14
вчера, 00:20    [22318565]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
iskatelsql
может и не туда лезу

Ты лезешь куда надо, только не с той стороны.
вчера, 07:04    [22318591]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
winsky!
Member

Откуда: Київ
Сообщений: 5139
fkthat,

автор
Сказано в букваре - дописывать -Async и ConfigureAwait,

ConfigureAwait прям везде?
вчера, 08:54    [22318602]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
winsky!
ConfigureAwait прям везде?

Везде.

https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2007

Сообщение было отредактировано: вчера, 09:41
вчера, 09:48    [22318629]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
hVostt
Member

Откуда:
Сообщений: 19236
fkthat
winsky!
ConfigureAwait прям везде?

Везде.

https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2007


Для библиотек мы юзаем Fody :)
Честно говоря, не понимаю, почему эта фича не входит в коробку, я имею в виду глобальная настройка на уровне сборки.

Сообщение было отредактировано: вчера, 11:51
вчера, 11:59    [22318688]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
hVostt
Честно говоря, не понимаю, почему эта фича не входит в коробку, я имею в виду глобальная настройка на уровне сборки.

Ну так она через инструментацию сборки ведь работает? Если так, то логичнее было бы её тогда вообще в сам компилятор встроить.
вчера, 12:03    [22318693]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
winsky!
Member

Откуда: Київ
Сообщений: 5139
fkthat,

в гнезде :)

не одним мсдном
вчера, 15:04    [22318818]     Ответить | Цитировать Сообщить модератору
 Re: async await что я делаю не так?  [new]
fkthat
Member [заблокирован]

Откуда:
Сообщений: 4873
winsky!
fkthat,
в гнезде :)
не одним мсдном

Ты мне предлагаешь изучать по чьему-то блогу то, что я и так уже сто лет как знаю?
вчера, 15:09    [22318826]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить