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

