Пример многопоточности из Шилтда работает как то не так - C#

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

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

Добрый день! Изучаю многопоточность по книге Шилтда. Переписал пример из книги, он работает. Но результат отличается от того, который указан в книге. (см. скриншот). Отличие в количестве точек. Почему так?
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Основной лоток начат.");
        // Сначала сконструировать объект типа MyThread. 
            MyThread mt = new MyThread("Потомок #1");
            do
            {
                Console.Write(".");
                Thread.Sleep(100);
            }  while (mt.Count != 10);
        Console.WriteLine("Основной поток завершен.");
        Console.ReadLine();
        }
    }

    class MyThread
    {
        public int Count;
        public Thread Thrd;
 
        public MyThread(string name)
        {
            Count = 0;
            Thrd = new Thread(this.Run);
            Thrd.Name = name; // задать имя потока
            Thrd.Start(); // начать поток
        }
 
        // Точка входа в поток, 
        void Run()
        {
            Console.WriteLine(Thrd.Name + " начат.");
            do
            {
                Thread.Sleep(500);
                Console.WriteLine("В потоке " + Thrd.Name + " Count = " + Count);
                Count++;
            }
            while (Count < 10);
            Console.WriteLine(Thrd.Name + " завершен.");
        }
    }

}

Решение задачи: «Пример многопоточности из Шилтда работает как то не так»

textual
Листинг программы
public MyThread(string name)
        {
            Count = 0;
            Thrd = new Thread(this.Run);
            Thrd.Priority = ThreadPriority.Lowest;
            Thrd.Name = name; // задать имя потока
            Thrd.Start(); // начать поток
        }

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


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

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

10   голосов , оценка 4 из 5
Похожие ответы