当前位置: 首页 > news >正文

临清网站制作宝塔面板wordpress

临清网站制作,宝塔面板wordpress,网站建设管理中se是什么意思,国外主流媒体网站除了Lock#xff08;#xff09;、Monitor之外#xff0c;我们最长用的就是Mutex了#xff0c;但是玩不好Mutex就总会造成死锁或者AbandonedMutexException#xff08;我就玩的不怎么好#xff0c;在并发性访问测试的时候总是遇到关于Mutex的问题#xff0c;各位线虫见笑…除了Lock、Monitor之外我们最长用的就是Mutex了但是玩不好Mutex就总会造成死锁或者AbandonedMutexException我就玩的不怎么好在并发性访问测试的时候总是遇到关于Mutex的问题各位线虫见笑了不过还是把我遇到的一些问题和总结拿出来和大家分享有误的地方还往指正。 还是先举一个简单的例子来说明一下这个东西      public class ThreadMutex    {        public void Test()        {            Thread t1  new Thread(Thread1);            Thread t2  new Thread(Thread2);            t1.Start();            t2.Start();        }        public void Thread1()        {            Mutex m  new Mutex(false, test);            bool b2  m.WaitOne();            Console.WriteLine(Thread1 get the mutex :   b2);            Thread.Sleep(10000);            m.ReleaseMutex();        }        public void Thread2()        {            Mutex m  new Mutex(false, test);            bool b2  m.WaitOne();            Console.WriteLine(Thread2 get the mutex :   b2);            Thread.Sleep(1000);            m.ReleaseMutex();                    }} 恩Thread1中Mutex.WaitOne()后就想到与Thread1拿到了Mutex所有权这时Thread2得到了同样的Mutex然后Mutex.WaitOne()也想拿到Mutex的所有权这时就必须等待了。这里只需要两点就能明白什么是Mutex了 1.   Mutex是一个令牌当一个线程拿到这个令牌时运行另外想拿到令牌的线程就必须等待直到拿到令牌的线程释放令牌。没有所有权的线程是无法释放令牌的。 2.   Mutexfalse”string”中的string是令牌的关键或者可以叫令牌名因为Mutex是跨进程的整个系统中只会有唯一的令牌存在所以也就是说你在一个应用程序中的一个线程中得到了Mutex的所有权那在另外一个线程中的另外的线程想得到他就必须要等待。   要弄清楚Mutex就还需要弄清楚两个很重要的问题 1那就是Mutex是调用的Win32 的API  HANDLE CreateMutex(    LPSECURITY_ATTRIBUTES lpMutexAttributes,    BOOL bInitialOwner,    LPCTSTR lpName ); 这就是他为什么能跨进程访问的原因正是由于它使用P/Invoke他的效率问题就凸现出来明显不如Monitor之类的快用的时候还需多多斟酌。   下面放一个Mutex的简单实现看看Mutex在.net下是如何实现的。   2Mutex的生命周期这个问题让我郁闷了很久因为不太了解Mutex的机制使得我也没法弄清楚到底能活多长时间这也是AbandonedMutexException经常会出现的原因。还是先来看一段程序     public class ThreadMutex    {        public void Test()        {            Thread t1  new Thread(Thread1);            Thread t2  new Thread(Thread2);            t1.Start();            t2.Start();        }        public void Thread1()        {            Mutex m  new Mutex(false, test);            bool b2  m.WaitOne();            Console.WriteLine(Thread1 get the mutex :   b2);        }        public void Thread2()        {            Thread.Sleep(10);//保证Thread1执行完            Mutex m  new Mutex(false, test);            bool b2m.WaitOne();            Console.WriteLine(b2);            m.ReleaseMutex();        }} 在Thread2中的WaitOne()方法就会报错了AbandonedMutexException原因就是Thread1拿到了Mutex后没有释放Thread1就结束了这样Mutex成了被抛弃的地孩子了呵呵。但是如果垃圾收集了就不一样咯。代码稍微修改了一下     public class ThreadMutex    {        public void Test()        {            Thread t1  new Thread(Thread1);            Thread t2  new Thread(Thread2);            t1.Start();            t2.Start();        }        public void Thread1()        {            Mutex m  new Mutex(false, test);            bool b2  m.WaitOne();            Console.WriteLine(Thread1 get the mutex :   b2);        }        public void Thread2()        {            Thread.Sleep(10);//保证Thread1执行完            GC.Collect();            GC.WaitForPendingFinalizers();            bool b1;            Mutex m  new Mutex(false, test,out b1);            Console.WriteLine(b1);            bool b2m.WaitOne();            Console.WriteLine(b2);            m.ReleaseMutex();                    }    } 结果是 Thread1 get the mutex : True True True Thread2里面的Mutex是新创建的呵呵这里面的玄妙自己体会吧。   最后要说一下的是Mutex的访问和window访问文件的机制基本上是一样的window访问对象和访问文件使用的是同样的安全机制虽然我还没看懂。
http://www.sadfv.cn/news/188500/

相关文章:

  • 班级网站模板下载移动网站设计
  • 网络营销方案格式企业网站设计中应注意产品发布功能优化
  • 做网站找公司怎么找自学设计软件的免费网站
  • 新网站如何被网站收录域名 网站
  • 芜湖营销型网站建设著名网站织梦
  • 网站开发与规划app开发详细流程图
  • 树立网站风格的步骤岳阳网站建设制作
  • 新新手手网网站站建建设设网站源码查看
  • 网站开发指南wordpress跳转内容页
  • 自己建一个网站需要什么北京住总第一开发建设有限公司网站首页
  • 德化规划与建设局网站wordpress地图怎么实现
  • 济宁网站建设方面合肥建站方案
  • 17做网店这个网站做起多少钱广东东信润建设有限公司网站
  • 北京建站公司哪个好网站设计要点 优帮云
  • php网站导航长乐福州网站建设
  • gucci网站玄武区网页设计培训
  • 曲靖网站设计公司网站建设及模板使用教程
  • 创建网站的优势县级部门和乡镇不能建网站建设
  • 软件下载网站整站源码网站开发程序制作域名备案
  • 常州网站建设维护冯站长之家
  • 贵阳网站建设运营佛山网站建设在哪找
  • 阿里云网站安装东营网站建设方案范文
  • 南山做网站行业网站开发质保
  • 网站网站建设多少钱网站推广策划方案的主要内容?
  • 免费学网页设计seo关键词如何设置
  • 怎么开通网站平台3d建模人物软件
  • 局域网站怎么做h5商城网站是什么
  • 珠海市品牌网站建设哪家好漯河市住房建设局网站
  • 班级信息网站建设的现状网络广告推广方案
  • 网站开发及技术wordpress删除数据库