zoukankan      html  css  js  c++  java
  • C#学习

    Interlocked.CompareExchange有一组函数

    名称 说明
    CompareExchange(Double, Double, Double) 比较两个双精度浮点数是否相等,如果相等,则替换第一个值。
    CompareExchange(Int32, Int32, Int32) 比较两个 32 位有符号整数是否相等,如果相等,则替换第一个值。
    CompareExchange(Int64, Int64, Int64)  比较两个 64 位有符号整数是否相等,如果相等,则替换第一个值。
    CompareExchange(IntPtr, IntPtr, IntPtr)  比较两个平台特定的句柄或指针是否相等,如果相等,则替换第一个。
    CompareExchange(Object, Object, Object) 比较两个对象是否相等,如果相等,则替换第一个对象。
    CompareExchange(Single, Single, Single) 比较两个单精度浮点数是否相等,如果相等,则替换第一个值。
    CompareExchange<T>(T, T, T) 比较两个指定的引用类型的实例 T 是否相等,如果相等,则替换第一个。


    现在以

    public static int CompareExchange(
        ref int location1,
        int value,
        int comparand

    )

    为例说明其运算过程:

    比较location1与comparand,如果不相等,什么都不做;如果location1与comparand相等,则用value替换location1的值。无论比较结果相等与否,返回值都是location1中原有的值。

    用法举例:

        while (Interlocked.CompareExchange(ref _lastRead, index + 1, index) < index)
        {
        }

    _lastRead与index一直进行,直到相等为止,此时将_lastRead设置为 index + 1
    ————————————————
    版权声明:本文为CSDN博主「名叫猫的鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/jianhui_wang/article/details/80485517

  • 相关阅读:
    ie firefox兼容性总结
    [软件推荐]Metalogix Migration Manager 3.1SharePoint第3方管理软件
    MOSS Query Tool
    sharepoint 特别信息 自个乐去吧~~
    我的迅雷资源博客已经开通!
    VS2007? 爱尝鲜的进来!
    IFrameWebPart For QuickPart 1.0 新鲜出炉,免费品尝,趁热哦~~
    用Mozilla Firefox做客户端,浏览OSS2007站点,兼容性评测!
    转载sharepoint相关资源
    QuickPart VS SmartPart
  • 原文地址:https://www.cnblogs.com/zbliao/p/12909028.html
Copyright © 2011-2022 走看看