当前位置:编程学习 > C#/ASP.NET >>

请教Mutex类的解释 和使用


本人对线程不太了解 请高手指点迷津

下面这段代码插在程序语句块里面有什么作用
Mutex mutex = new Mutex();
      mutex.WaitOne();


请高手给简单明了的讲一下线程的概念 --------------------编程问答-------------------- 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();
    }
}
--------------------编程问答-------------------- 能说下线程的概念和作用吗 通俗易懂的 我做过的网站没有用到线程的 所以对线程不了解 谢谢了 --------------------编程问答-------------------- 进程
线程

进程 VS 线程 --------------------编程问答-------------------- 线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程. 
线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU


你可以思考下迅雷什么的下载工具,都是多线程下载的,线程多,下载会快。但太多了,反而会慢。多线程主要是提高CPU的利用率,但如果利用已经很高了,你再开很多,结果资源不够,那就周转不开,会变慢的。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,