VS2003的帮助文档中有这样一篇《托管线程处理的最佳做法》其中提到:一般建议使用多线程时要考虑以下准则:     不要使用 Thread.Abort 终止其他线程。对另一个线程调用 Abort 无异于引发此线程的异常,而且将不知道此线程已处理到哪一点。 
    (需要终止线程时用什么方法?)    不要使用 Thread.Suspend 和 Thread.Resume 来同步多个线程的活动。不要使用 Mutex, ManualResetEvent、AutoResetEvent 和 Monitor。
    (哪还有什么方法来实现同步??)     不要从主程序中控制辅助程的执行,比如使用事件,而应在设计程序时让辅助线程负责等待任务,执行任务,并在完成时通知程序的其他部分。......
    (等待任务......怎样实现?)
想好好学习一下.NET下的线程使用方法,不知哪里有好的实例或教程?

解决方案 »

  1.   

    线程最好是自行终止,也就是线程函数执行完毕返回。Abort是在线程中引发ThreadAbortException异常。
      

  2.   

    去MSDN里面找找,肯定又不少例子的^_^
      

  3.   

    还有lock可以实现同步,线程完成任务可以通过deleget回调
    我认为delegate的BeginInvoke, EndInvoke 的异步调用做得非常好,这是非常好的线程实现机制。
    你可以先看看delegate的异步调用。
      

  4.   

    实现多线程的简单有效的办法是使用ThreadPool
      

  5.   

    ThreadPool有个缺点就是无法监管Thread,只能听之任之
      

  6.   

    线程讲解以及示例下载:
    http://blog.csdn.net/ChengKing/category/160892.aspx