// .
Using System;
Using System.Threading;
class MyThread { public int Count; public Thread Thrd;
// , // MyThread int. public MyThread(string name, int num) {
Count = 0;
// ParameterizedThreadStart // .
Thrd = new Thread(this.Run);
Thrd.Name = name;
// num Start ()
// .
Thrd.Start(num);
}
// , Run()
// object.
void Run(object num) {
Console.WriteLine(Thrd.Name + " " + num);
do {
Thread.Sleep (500);
Console.WriteLine(" " + Thrd.Name + ", Count = " + Count);
Count++;
} while(Count < (int) num);
Console.WriteLine(Thrd.Name + " .");
}
}
class PassArgDemo { static void Main() {
// , // MyThread. MyThread mt = new MyThread(" #1", 5); MyThread mt2 = new MyThread(" #2", 3);
do {
Thread.Sleep(100);
} while (mt.Thrd.IsAlive'| mt2.Thrd.IsAlive);
Console.WriteLine(" .");
}
}
, .
#1 .
.
, , . MyThread Run (), , ParameterizedThreadStart Start ().
IsBackground
, .NET Framework : . , , , . . , IsBackground, Thread, .
public bool IsBackground { get; set; }
, true IsBackground. false , .
, , . , , . , , . , , , , .
|
|
, , , . , , , , . , . , , .
, , . Priority, Thread. :
public ThreadPriority Priority{ get; set; }