点击或拖拽改变大小

SimpleHybirdLock 类

一个简单的混合线程同步锁,采用了基元用户加基元内核同步构造实现
继承层次
SystemObject
  HslCommunication.CoreSimpleHybirdLock

命名空间:  HslCommunication.Core
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:8.1.3.0 (8.1.3.0)
语法
public sealed class SimpleHybirdLock : IDisposable

SimpleHybirdLock 类型公开以下成员。

构造函数
  名称说明
公共方法SimpleHybirdLock
初始化 SimpleHybirdLock 类的一个新实例
Top
属性
  名称说明
公共属性IsWaitting
获取当前锁是否在等待当中
Top
方法
  名称说明
公共方法Dispose
释放资源
公共方法Enter
获取锁
公共方法Equals (继承自 Object。)
公共方法GetHashCode (继承自 Object。)
公共方法GetType (继承自 Object。)
公共方法Leave
离开锁
公共方法ToString (继承自 Object。)
Top
备注
当前的锁适用于,竞争频率比较低,锁部分的代码运行时间比较久的情况,当前的简单混合锁可以达到最大性能。
示例
以下演示常用的锁的使用方式,还包含了如何优雅的处理异常锁
SimpleHybirdLock示例
private SimpleHybirdLock simpleHybird = new SimpleHybirdLock( );

public void SimpleHybirdLockExample( )
{

    // 同步锁,简单的使用
    simpleHybird.Enter( );

    // do something


    simpleHybird.Leave( );

}

public void SimpleHybirdLockExample2( )
{
    // 高级应用,锁的中间是不允许有异常发生的,假如方法会发生异常

    simpleHybird.Enter( );
    try
    {
        int i = 0;
        int j = 6 / i;
        simpleHybird.Leave( );
    }
    catch
    {
        simpleHybird.Leave( );
        throw;
    }

    // 这样做的好处是既没有吞噬异常,锁又安全的离开了
}
参见