Пример по Thread.Yield() - C#

Узнай цену своей работы

Формулировка задачи:

Начал читать статью Threading in C# Joseph Albahari наткнулся на метод Thread.Yield() автор пишет, что вызывая этот метод мы заставляем текущий поток оказаться от положенного ему времени и передать(вероятно,т.е. не всегда) выполнение другому потоку на этом же процессоре. Поискал на msdn пример - не нашел ничего. Вопрос: может кто нибудь привести пример использования данного метода?
Еще вопрос, как образуются захваченные переменные?
for (int i = 0; i < 10; i++)
  new Thread (() => Console.Write (i)).Start();
почему этот код будет выводить совсем не 0123456789? ПС у вас баг:новичкам нельзя править сообщения после прошествия какого то времени, но если добавить еще одно сообщение то снова появится кнопка правки и можно править =)

Решение задачи: «Пример по Thread.Yield()»

textual
Листинг программы
new Thread(() => Console.WriteLine(1)).Start();
new Thread(() => Console.WriteLine(2)).Start();
new Thread(() => Console.WriteLine(3)).Start();
new Thread(() => Console.WriteLine(4)).Start();
new Thread(() => Console.WriteLine(5)).Start();
new Thread(() => Console.WriteLine(6)).Start();
new Thread(() => Console.WriteLine(7)).Start();
new Thread(() => Console.WriteLine(8)).Start();
new Thread(() => Console.WriteLine(9)).Start();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5