Mutex 类 
一个同步基元,也可用于进程间同步。命名空间:  System.Threading
程序集:  mscorlib(在 mscorlib.dll 中)WaitOne(); 
阻止当前线程,直到当前 WaitHandle 收到信号。返回值
类型:System..::.Boolean如果当前实例收到信号,则为 true。如果当前实例永远收不到信号,则 WaitOne 永不返回。下面的代码示例说明在进程等待后台线程执行完时,如何使用等待句柄阻止进程终止。using System;
using System.Threading;class WaitOne
{
    static AutoResetEvent autoEvent = new AutoResetEvent(false);    static void Main()
    {
        Console.WriteLine("Main starting.");        ThreadPool.QueueUserWorkItem(
            new WaitCallback(WorkMethod), autoEvent);        // Wait for work method to signal.
        autoEvent.WaitOne();
        Console.WriteLine("Work method signaled.\nMain ending.");
    }    static void WorkMethod(object stateInfo) 
    {
        Console.WriteLine("Work starting.");        // Simulate time spent working.
        Thread.Sleep(new Random().Next(100, 2000));        // Signal that work is finished.
        Console.WriteLine("Work ending.");
        ((AutoResetEvent)stateInfo).Set();
    }
}

解决方案 »

  1.   

    线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程. 
    线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU
    你可以思考下迅雷什么的下载工具,都是多线程下载的,线程多,下载会快。但太多了,反而会慢。多线程主要是提高CPU的利用率,但如果利用已经很高了,你再开很多,结果资源不够,那就周转不开,会变慢的。