就一个线程。如何才知道它结束了或者正在运行中呢?有一个奇怪的事情,new Thread(threadProc)的时候,线程就启动了……为什么这样,有一功能,我要等到线程结束后才开始执行。

解决方案 »

  1.   

    线程的状态并不精确,如果要同步的话,可以使用ManualResetEvent之类的同步对象。
      

  2.   

    问题大了点,三言两语讲不清楚请看
    <.NET Framework 2.0高级编程 >
    第10章:线程.AppDomain和进程
      

  3.   

    直接用一个变量表示了。
    bool isrunning = false;线程第一句
    isrunning = true;最后一句
    isrunning = false;
    其他
    Thread == nullThread.alive 都可以判断是否结束了
      

  4.   

    简单点的方法自己设标志,在线程方法末设置这个标志的值。
    或者可以使用ManualResetEvent对象来进行线程的同步。
      

  5.   

    需要前提条件才能运行的线程执行WaitOne后就会被挂起,另一个线程完成工作后执行Set后就能唤醒那个因等待而挂起的线程。