ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

关于“Mutex”学习、

来源:网络整理     时间:2015-01-16     关键词:

本篇文章主要介绍了"关于“Mutex”学习、",主要涉及到方面的内容,对于.NETjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 互斥锁(Mutex)互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它。互斥锁可适用于一个共享资源每次只能被一个线程访问的情况 当两个或更...

互斥锁(Mutex)

互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它。

互斥锁可适用于一个共享资源每次只能被一个线程访问的情况

当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源。

Mutex是同步基元,它只向一个线程授予对共享资源的独占访问权。如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该互斥体。

按我的理解就是说:很多人排队到一台ATM取款、必须要等到第一个人取完以后、第二个人才能使用、这样依次类推。

献上使用代码:

        public void AutomaticSubmitProcess(int MaxQueueStep,string System)
        {
            bool bCreateNew = false;
            Mutex mut = new Mutex(true, "name", out bCreateNew);
            //使用一个指示调用线程是否应拥有互斥体的初始所属权的布尔值、
            //一个作为互斥体名称的字符串,
            //以及一个在方法返回时指示调用线程是否被授予互斥体的初始所属权的布尔值来初始化 Mutex 类的新实例。
            if (bCreateNew == false)
            {
                // 说明有人正在ATM取钱、请排队。
                Console.WriteLine("Another Instance is running!");
                return;
            }
            //现在可以在ATM取钱了、

            DataSet ds = alc.GetProcessOperationQueue(MaxQueueStep, "UBI");
            if (ds.Tables[0].Rows.Count > 0)
            {
                //涉及项目,就不贴出数据修改了、谅解
            }
            mut.ReleaseMutex();//释放 Mutex 一次。 
            mut.Close();
            mut.Dispose();
        }

第一次使用、仅发表我的理解、如果说错了、希望提出修改、

以上就介绍了关于“Mutex”学习、,包括了方面的内容,希望对.NETjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_106584.html

相关图片

相关文章