Многопоточное программирование пример 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#: