zoukankan      html  css  js  c++  java
  • 在WINDOWS SERVER 上或远程桌面中使用 MUTEX

    引用:

    http://www.cnblogs.com/fg0711/archive/2012/05/03/2480502.html

    使用Mutex需要注意的两个细节

    1. 可能你已经注意到了,例子中在给Mutex命名的字符串里给出了一个“Global”的前缀。这是因为在运行终端服务(或者远程桌面)的服务器上,已命名的全局 mutex 有两种可见性。如果名称以前缀“Global”开头,则 mutex 在所有终端服务器会话中均为可见。如果名称以前缀“Local”开头,则 mutex 仅在创建它的终端服务器会话中可见,在这种情况下,服务器上各个其他终端服务器会话中都可以拥有一个名称相同的独立 mutex。如果创建已命名 mutex 时不指定前缀,则它将采用前缀“Local”。在终端服务器会话中,只是名称前缀不同的两个 mutex 是独立的 mutex,这两个 mutex 对于终端服务器会话中的所有进程均为可见。即:前缀名称“Global”和“Local”仅用来说明 mutex 名称相对于终端服务器会话(而并非相对于进程)的范围。最后需要注意“Global”和“Local”是大小写敏感的。
    2. 既然父类实现了IDisposalble接口,那么说明这个类一定需要你手工释放那些非托管的资源。所以必须使用try/finally,亦或我讨厌的using,调用Close()方法来释放Mutex所占用的所有资源!

    所以如果要用WINDOWS SERVER上或远程桌面中,就得加Global。

  • 相关阅读:
    生活感悟(一)
    DOM数据制作(采用卫星遥感图像数据制作)
    对话框显示前的操作
    sqlHelper中DataReader的关闭问题
    整数的取余运算
    C#中的字符串格式String.Format
    SQL分页查询
    级联删除与更新的例子
    C#中的运算符重载(以重载+为例)
    [高效编程读书笔记]用readonly而不是const
  • 原文地址:https://www.cnblogs.com/runliuv/p/5025996.html
Copyright © 2011-2022 走看看