Size: a a a

2020 March 11

IC

Ilya Chernoudov in pro.net
таски просто переходят из одного состояния в другое
источник

IC

Ilya Chernoudov in pro.net
но все они считаются запущенными
источник

JS

Jack Smelov in pro.net
Ilya Chernoudov
а ты что ожидал?
видимо не ожидал))
источник

JS

Jack Smelov in pro.net
или не такого)
источник

DB

Danil Braindead in pro.net
Eugene Zakharov
Let me google it for you как говорится
Через Task.Run(() => <execut asyn action>.Result).Result не интересно
источник

DB

Danil Braindead in pro.net
Ilya Chernoudov
но все они считаются запущенными
Если таску создать через конструктор, то нет
источник

IC

Ilya Chernoudov in pro.net
Danil Braindead
Если таску создать через конструктор, то нет
мы сейчас про конкретный код
источник

IC

Ilya Chernoudov in pro.net
можем ещё F# вспомнить с холодными тасками
источник

IC

Ilya Chernoudov in pro.net
Danil Braindead
Если таску создать через конструктор, то нет
что тоже является просто состоянием для таски
источник

DB

Danil Braindead in pro.net
Ilya Chernoudov
что тоже является просто состоянием для таски
Состояние появляется только после того, как вы ее заавейтите(или сделаете GetAwaiter, что эквиваленто) и вам компилятор развернет ее в FSM, а до этого момента это просто инстанс
источник

G

Gopneg in pro.net
Ilya Chernoudov
а ты что ожидал?
static async Task Main(string[] args)
   {
     ThreadPool.SetMaxThreads(1000, 1000);
     var delay = 100000;
     for (var i = 0; i < 1000; i++)
     {
       var i_ = i;

       Task.Factory.StartNew(() =>        
       {
         var rnd = new Random();
         Console.WriteLine($"{i_}: {Process.GetCurrentProcess().Threads.Count}");

         while (true)
         {
           rnd.Next();
         }
       }, TaskCreationOptions.LongRunning);
     }
     
     await Task.Delay(delay);
     Console.WriteLine("Hello World!");
   }
вот этого
источник

G

Gopneg in pro.net
яж знаете ли без авейта таски не запускаю, ктож знал что оно по умолчанию лимитит %)
источник

IC

Ilya Chernoudov in pro.net
Danil Braindead
Состояние появляется только после того, как вы ее заавейтите(или сделаете GetAwaiter, что эквиваленто) и вам компилятор развернет ее в FSM, а до этого момента это просто инстанс
компилятор тут ни при чём совершенно
источник

G

Gopneg in pro.net
когда надо было запускать много, запускал с лонгпулингом
источник

IC

Ilya Chernoudov in pro.net
Gopneg
яж знаете ли без авейта таски не запускаю, ктож знал что оно по умолчанию лимитит %)
эвейт не запускает таски
источник

G

Gopneg in pro.net
я такого и не говорил
источник

IC

Ilya Chernoudov in pro.net
👌
источник

IC

Ilya Chernoudov in pro.net
просто уточнил)
источник

DB

Danil Braindead in pro.net
Ilya Chernoudov
компилятор тут ни при чём совершенно
C чего бы ?
источник

IC

Ilya Chernoudov in pro.net
Danil Braindead
C чего бы ?
это просто сахар, таски были и до того, как сделаи async await
источник