База ответов ИНТУИТ

Параллельное программирование с помощью языка C#

<<- Назад к вопросам

Следующий фрагмент приводит к действиям планировщика:
 static void Main()  {  Thread thread = new Thread(() => {    f1();   Task t = Task.Factory.StartNew(() => f2());   });  thread.Start();  }  

(Отметьте один правильный вариант ответа.)

Варианты ответа
метод f1 обрабатывается в пользовательском потоке, метод f2 добавляется в локальную очередь этого же потока
методы f1 и f2 обрабатываются в одном пользовательском потоке
методы f1 и f2 обрабатываются в одном рабочем потоке(Верный ответ)
методы f1 обрабатывается в пользовательском потоке, метод f2 добавляется в глобальную очередь и обрабатывается одним из рабочих потоков
Похожие вопросы
Следующий фрагмент приводит к действиям планировщика:
 static void Main()  {  Thread thread = new Thread(() => {    Parallel.Invoke(f1, f2);  f3();  });  thread.Start();  }    
Следующий фрагмент кода приводит к действиям планировщика:
 static void Main()  {  ..  Task t1 = Task.Factory.StartNew( () =>  SomeWork());  Task t2 = Task.Factory.StartNew( () =>  SoweWork());  ..  }  
Какой вывод наиболее вероятен для следующего фрагмента:
 static void Main()  {   Task t1 = Task.Factory.StartNew(() =>  Console.Write(“A”));  Task t2 = Task.Factory.StartNew(() => {  Task t3 = Task.Factory.StartNew(() =>  Console.Write(“B”));  Console.Write(“C”);  });  }  
Какой вывод для следующего фрагмента является наиболее вероятным:
 Task t = Task.Factory.StartNew( () =>  {   Task t1 = Task.Factory.StartNew( () =>   Console.Write (“1”));   Task t2 = Task.Factory.StartNew( () =>   Console.Write (“2”));   Console.Write (“3”);  });  
Следующий фрагмент приводит к действиям планировщика
 static void Main()  {   ThreadPool.QueueUserWorkItem(f1,);  ThreadPool.QueueUserWorkItem(f2,);  ThreadPool.QueueUserWorkItem(f3); }  
Вызов метода Thread.Sleep(0) приводит к следующему:
Метод Thread.Yield игнорируется в случае:
Какие методы типа Task и объекта типа Task предполагают блокировку текущего потока до завершения задачи
Для ожидания завершения задачи типа Task<int> можно использовать
Объявление Task t2 = t1.ContinueWith(..) гарантирует