勇哥注:《多线程安全》这个系列会持续写下去,它是我的一个弱点,有兴趣的朋友可以选择性看看。内核模式锁有三种:事件锁AutoResetEvent,MuanualResetEventm,信号量Semaphore,互斥锁Mutex这三种锁,我们发现都有一个WaitOne方法。。。因为他们都是继承于WaitHandle。三种锁都是同根生,其实底层都是通过SafeWaitHandle来对win32api的一个引用。在万不得已的情况下,不要使用内核模式的锁,因为代价太大。其实我们有更多的方式可以替代:混合锁
勇哥注:《多线程安全》这个系列会持续写下去,它是我的一个弱点,有兴趣的朋友可以选择性看看。const string mutexName = "勇哥";public static Mutex mutexObj = new Mutex(false, mutexName); 定义了一个全局锁,false表示创建互斥锁之后持有状态是:没有人持有命名“勇哥”,将做为全局的操作系统互斥量,请务必正确关闭互斥量,否则关掉这个进程后再也进不去。这种特性使得互斥量经常被用作“不允许