Многопоточное программирование пример C#

Многопоточное программирование пример C# (объектно-ориентированное программирование)

 
using System;
using System.Threading;
class FourThread
{
    public int counter;
    public Thread mystream;
    public FourThread(string str)
    {
        mystream = new Thread(new ThreadStart(this.run));
        mystream.Name = str;
        counter = 0;
        mystream.Start();
    }

    void run()
    {
        Console.WriteLine(mystream.Name + " процесс запущен");
        do
        {
            Thread.Sleep(300);
            Console.WriteLine("В процессе " + mystream.Name + " Номер потока = " + counter);
            counter++;
        } 
        while (counter < 5);
        Console.WriteLine(mystream.Name + " процесс окончен");
    }
}

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Главный поток...");
            FourThread obj1 = new FourThread("Поток - 1...");
            FourThread obj2 = new FourThread("Поток - 2...");
            FourThread obj3 = new FourThread("Поток - 3...");
            FourThread obj4 = new FourThread("Поток - 4...");

            // приоритеты потока Highest AboveNormal Normal BelowNoritial Lowest
           // obj1.mystream.Priority = ThreadPriority.Highest;
           // obj2.mystream.Priority = ThreadPriority.Lowest;

            //obj4.mystream.Join();
            //Console.WriteLine("Ждем, пока поток #4 выполнится");

            do
            {
                Console.Write("######################################################\n");
               // Console.Write("-");
                Thread.Sleep(200);
            } while (obj1.counter <5 || obj2.counter < 5  || obj3.counter < 5  || obj4.counter < 5);
            //obj1.mystream.IsAlive
            Console.WriteLine("Выполнение главного потока остановлено.");
        }
    }
}

Вывод программы четыре потока пример C#:

Многопоточное программирование пример C#

118

Leave a Reply

Ваш адрес email не будет опубликован.