, .
// .
Using System;
Using System.Threading;
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 + " .");
}
}
class MultiThreadlmproved { static void Main() {
Console.WriteLine(" .");
// MyThread.
MyThread mt = new MyThread(" #1");
do {
Console.Write (".");
Thread.Sleep (100);
} while (mt.Count!= 10);
Console.WriteLine(" .");
}
}
, . , Thrd MyThread.
. , . , .
Using System;
Using System.Threading;
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 + " .");
}
}
class MoreThreads { static void Main() {
Console.WriteLine(" .");
// .
do {
Console.Write(".");
Thread.Sleep(100);
} while (mtl.Count <10 I | mt2.Count <10 || mt3.Count < 10);
Console.WriteLine(" .");
}
}
.
. #1 .
#2 .
#3 .
.... #1, Count = 0 #2, Count = 0 #3, Count = 0
..... #1, Count = 1
#1 .
#2, Count = 9 #2 .
#3, Count = 9 #3 .
.
, , . , , .
|
|
, . Count. . , Thread . , , Is Alive, .
public bool IsAlive { get; }
IsAlive true, , , - . "" IsAlive More Thread , .
// IsAlive , class MoreThreads { static void Main() {
Console.WriteLine(" .");
// .
do {
Console.Write(".");
Thread.Sleep(100);
} while (mtl.Thrd.IsAlive && mt2.Thrd.IsAlive && mt3.Thrd.IsAlive);
Console.WriteLine(" .");
}
}
, . , IsAlive .