Public void Join()
Join () , , , . , . , ThreadStateException. Join () , .
Join () , .
// Join().
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++;
} Vhile(Count < 10);
Console.WriteLine(Thrd.Name + " .");
}
}
// Join() ,
// , class JoinThreads { static void Main() {
Console.WriteLine(" .");
// .
Mtl.Thrd.Join();
Console.WriteLine(" #1 ."); mt2.Thrd.Join();
Console.WriteLine(" #2 ."); mt3.Thrd.Join();
Console.WriteLine(" #3 .");
Console.WriteLine(" .");
}
}
. , , , .
.
#1 .
#2 .
#3 .
#3,
Count
=
#1,
Count
=
#2,
Count
=
#3,
Count
=
#1,
Count
=
#2,
Count
=
#3,
Count
=
#1,
|
|
Count
=
#2,
Count
=
#3,
Count
=
#1,
Count
=
#2,
Count
=
#3,
Count
=
#1/
Count
=
#2,
Count
=
#3,
Count
=
#1/
Count
=
#1 .
#2,
Count
=
#2 .
#3,
Count
=
#3 .
#1 .
#2 .
#3 .
.
, Join ().
.NET Framework , , , , . - , , . , . Start (), Thread, , .
Start ().
public void Start(object )
, , , . , , Start ().
Start () Thread:
public Thread(ParameterizedThreadStart )
, . ,
ParameterizedThreadStart, ThreadStart, , . Parameter izedThreadS tart , .
public delegate void ParameterizedThreadStart(object obj)
, obj ect. Thread , , obj ect.
|
|