线程不应该启动事件调用start方法..是否可能?在c#
答案 0 :(得分:1)
正如此代码所示,线程会自动创建为挂起状态,直到您调用start时才会启动。
class Program
{
static void Main(string[] args)
{
Worker w = new Worker();
Console.ReadKey();
w.Start();
Console.ReadKey();
w.Stop();
Console.ReadKey();
}
}
class Worker
{
System.Threading.Thread workerThread;
bool work;
public Worker()
{
System.Threading.ThreadStart ts = new System.Threading.ThreadStart(DoWork);
workerThread = new System.Threading.Thread(ts);
}
public void Start()
{
work = true;
workerThread.Start();
}
public void Stop()
{
work = false;
}
private void DoWork()
{
while(work)
{
Console.WriteLine(System.DateTime.Now.ToLongTimeString());
System.Threading.Thread.Sleep(1000);
}
}
}
(这是在.NET 3.5上用C#创建的,对于2.0来说线程是不同的吗?)