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

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

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

Следующий фрагмент приводит к действиям планировщика
 static void Main()  {   ThreadPool.QueueUserWorkItem(f1,);  ThreadPool.QueueUserWorkItem(f2,);  ThreadPool.QueueUserWorkItem(f3); }  

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

Варианты ответа
нет правильных вариантов
методы f1, f2, f3 обрабатываются в трех созданных потоках, не входящих в пул рабочих потоков
неявно созданные задачи, связанные с методами f1, f2, f3, помещаются в глобальную очередь(Верный ответ)
неявно созданные задачи, связанные с методами f1, f2, f3, помещаются в локальную очередь текущего потока
Похожие вопросы
Второй аргумент в вызове метода пула потоков задает:ThreadPool.QueueUserWorkItem(f, 5);
Следующий фрагмент приводит к действиям планировщика:
 static void Main()  {  Thread thread = new Thread(() => {    Parallel.Invoke(f1, f2);  f3();  });  thread.Start();  }    
Следующий фрагмент приводит к действиям планировщика:
 static void Main()  {  Thread thread = new Thread(() => {    f1();   Task t = Task.Factory.StartNew(() => f2());   });  thread.Start();  }  
Следующий фрагмент кода приводит к действиям планировщика:
 static void Main()  {  ..  Task t1 = Task.Factory.StartNew( () =>  SomeWork());  Task t2 = Task.Factory.StartNew( () =>  SoweWork());  ..  }  
Объект ThreadPool позволяет:
Какой вывод наиболее вероятен для следующего фрагмента:
 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”);  });  }  
Вложенные задачи выполняются (с учетом действия всех стратегий планировщика):
Вызов метода Thread.Sleep(0) приводит к следующему:
Операция извлечения Take для объекта типа BlockedCollection<T>, не содержащего элементы и без вызова CompleteAdding, приводит
Метод WaitOne объекта синхронизации Semaphore не приводит к блокировке в случае