zoukankan      html  css  js  c++  java
  • Monitor关键字

    Monitor提供同步访问对象的机制。

    Monitor方法

    Enter(Object) 在指定对象上获取排他锁。

    Enter(Object,Boolean) 获取指定对象上的排他锁,并自动获取一个值,指示是否获取了该锁

    Exit(Object) 释放指定对象上的排他锁

    IsEntered(Object) 确定当前线程是否保留着指定对象上的锁

     Pulse(Object) 通知等待队列中的线程锁定对象状态的更改

    PulseAll(Object) 通知所有等待的线程锁定对象状态的更改

    TryEnter(Object) 尝试获取指定对象的排他锁

    TryEnter(Object,Boolean)  尝试获取指定对象上的排他锁,并自动设置一个值,指示是否获取了该锁

    TryEnter(Object,Int32) 在指定的毫秒数内,尝试获取指定对象上的排他锁

    TryEnter(Object,Int32,Boolean)  在指定的毫秒数内,尝试获取指定对象上的排他锁,并自动设置一个值,指示是否获取了该锁

    Wait(Object) 释放对象上的锁并阻止当前线程,直到它重新获取该锁

    Wait(Object,Int32) 释放对象上的锁并阻止当前线程,直到它重新获取该锁。如果已用指定的超时间隔,则线程进入等待队列

    lock关键字实际上是一个语法糖,它将Monitor对象进行封装。

           try
                {
                    Monitor.Enter(obj);
                    //dosomething();
                }
                catch(Exception ex)
                {
                    
                }
                finally
                {
                    Monitor.Exit(obj);
                }
  • 相关阅读:
    GPU编程和流式多处理器(七)
    GPU编程和流式多处理器(六)
    vue——使用vant轮播组件swipe + flex时,文字抖动问题
    golang 修改字符串
    Go 彻底弄懂return和defer的微妙关系
    Redis 的持久化机制
    Redis 缓存击穿
    Redis 缓存穿透
    Redis 雪崩
    正则验证
  • 原文地址:https://www.cnblogs.com/larry-xia/p/9256753.html
Copyright © 2011-2022 走看看