Size: a a a

2020 March 11

DB

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

IC

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

IC

Ilya Chernoudov in pro.net
Danil Braindead
Перечитайте мое сообщение
скрин выше
источник

DB

Danil Braindead in pro.net
Ilya Chernoudov
скрин выше
источник

IC

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

IC

Ilya Chernoudov in pro.net
таск - это данные, а не процесс
источник

IC

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

IC

Ilya Chernoudov in pro.net
но сама таска ничего не исполняет
источник

IC

Ilya Chernoudov in pro.net
она просто хранит информацию о том, что вообще происходит
источник

G

Gopneg in pro.net
Ilya Chernoudov
  Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
           ThreadPool.GetMaxThreads(out var worker, out var port);
           Console.WriteLine(worker);
           Console.WriteLine(port);
           ThreadPool.SetMaxThreads(10, 10);

           for (int i = 0; i < 100; i++)
           {
               Task.Run(() => Task.Delay(1000));
           }
           Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
static void Main(string[] args)
   {
     Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
     ThreadPool.GetMaxThreads(out var worker, out var port);
     Console.WriteLine(worker);
     Console.WriteLine(port);
     ThreadPool.SetMaxThreads(10, 10);

     for (int i = 0; i < 1000; i++)
     {
       Task.Factory.StartNew(async () => Thread.Sleep(1000), TaskCreationOptions.LongRunning);
     }
     Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
   }


я починил
источник

G

Gopneg in pro.net
или у меня не таски? %)
источник

G

Gopneg in pro.net
источник

IC

Ilya Chernoudov in pro.net
Gopneg
static void Main(string[] args)
   {
     Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
     ThreadPool.GetMaxThreads(out var worker, out var port);
     Console.WriteLine(worker);
     Console.WriteLine(port);
     ThreadPool.SetMaxThreads(10, 10);

     for (int i = 0; i < 1000; i++)
     {
       Task.Factory.StartNew(async () => Thread.Sleep(1000), TaskCreationOptions.LongRunning);
     }
     Console.WriteLine(Process.GetCurrentProcess().Threads.Count);
   }


я починил
с тобой тяжело
источник

G

Gopneg in pro.net
просто ты сделал частный случай, а я общий %))
источник

IC

Ilya Chernoudov in pro.net
Gopneg
или у меня не таски? %)
у тебя фабрика, которая создаёт под одному потоку на таск
источник

G

Gopneg in pro.net
ну и чо?
источник

IC

Ilya Chernoudov in pro.net
но сами таски ничего здесь не запускают
источник

DB

Danil Braindead in pro.net
Ilya Chernoudov
она просто хранит информацию о том, что вообще происходит
Естественно, она хранит делегат который отдает тредпулу
источник

IC

Ilya Chernoudov in pro.net
ты мог с тем же успехом создать 1000 потоков и 1000 TaskCompletionSource
источник

G

Gopneg in pro.net
конечно не запускают, код ваще ничо не запускает
запускает рантайм
источник