Size: a a a

2020 March 11

IC

Ilya Chernoudov in pro.net
Gopneg
не понимаю вопроса
ты утверждаешь, что внутри таски поток
источник

IC

Ilya Chernoudov in pro.net
Gopneg
если их тредпул ограничивает по умолчанию в 20 зачем-то, то это не значит что внутри  не потоки
вот тут
источник

G

Gopneg in pro.net
я говорю что таска это абстракция над потоком, в общем случае
источник

G

Gopneg in pro.net
а ты мне какие-то пограничные кейсы пытешься впихнуть, когда вместо тредпула у тебя там херня какая-то
источник

IC

Ilya Chernoudov in pro.net
Gopneg
а ты мне какие-то пограничные кейсы пытешься впихнуть, когда вместо тредпула у тебя там херня какая-то
беда...
источник

IC

Ilya Chernoudov in pro.net
ты таски юзаешь обычно для асинхронных операций чтения/записи
источник

G

Gopneg in pro.net
ты ща про иобаунд пытаешься мне зачесать?
источник

IC

Ilya Chernoudov in pro.net
httpclient например
источник

G

Gopneg in pro.net
так это тоже частный случай
источник

IC

Ilya Chernoudov in pro.net
как удобно )
источник

IC

Ilya Chernoudov in pro.net
про частные и общие)
источник

G

Gopneg in pro.net
поэтому авайт таск.делай и не будет жрать потоки, нахера ему их жрать ваще?
а вот thread.sleep пожрет
источник

IC

Ilya Chernoudov in pro.net
Gopneg
поэтому авайт таск.делай и не будет жрать потоки, нахера ему их жрать ваще?
а вот thread.sleep пожрет
ладно) я сдаюсь)
источник

IC

Ilya Chernoudov in pro.net
Gopneg
поэтому авайт таск.делай и не будет жрать потоки, нахера ему их жрать ваще?
а вот thread.sleep пожрет
источник

IC

Ilya Chernoudov in pro.net
напоследок тебе почитать
источник

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(async () =>
       {
         var rnd = new Random();
         Console.WriteLine($"{i_}: {Process.GetCurrentProcess().Threads.Count}");
         //Thread.Sleep(delay);
         await Task.Delay(delay);
         while (true)
         {
           rnd.Next();            
         }
       }, TaskCreationOptions.LongRunning);
     }
     
     await Task.Delay(delay);
     Console.WriteLine("Hello World!");
   }

раскоменть и сравни
источник

IC

Ilya Chernoudov in pro.net
Gopneg
ну я чо не прав что ли?
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(async () =>
       {
         var rnd = new Random();
         Console.WriteLine($"{i_}: {Process.GetCurrentProcess().Threads.Count}");
         //Thread.Sleep(delay);
         await Task.Delay(delay);
         while (true)
         {
           rnd.Next();            
         }
       }, TaskCreationOptions.LongRunning);
     }
     
     await Task.Delay(delay);
     Console.WriteLine("Hello World!");
   }

раскоменть и сравни
зачем?
источник

G

Gopneg in pro.net
что зачем?
источник

G

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

IC

Ilya Chernoudov in pro.net
Gopneg
ну я чо не прав что ли?
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(async () =>
       {
         var rnd = new Random();
         Console.WriteLine($"{i_}: {Process.GetCurrentProcess().Threads.Count}");
         //Thread.Sleep(delay);
         await Task.Delay(delay);
         while (true)
         {
           rnd.Next();            
         }
       }, TaskCreationOptions.LongRunning);
     }
     
     await Task.Delay(delay);
     Console.WriteLine("Hello World!");
   }

раскоменть и сравни
ты просто не в состоянии сделать правильные выводы
источник