static void Main(string[] args)
        {
            int a = 20;
            int b = 20;
            int c = 0;

//对两个 32 位整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成
            Interlocked.Add(ref c, a);
            System.Console.WriteLine("c: {0}",c);
            //以原子操作的形式递减指定变量的值并存储结果
            Interlocked.Decrement(ref c);
            System.Console.WriteLine("c: {0}", c);
            Interlocked.Increment(ref c);
            System.Console.WriteLine("c: {0}", c);
            //比较两个 32 位有符号整数是否相等,如果相等,则替换其中一个值
            Interlocked.CompareExchange(ref c, a, b);
            System.Console.WriteLine("a: {0},b: {1},c: {2}",a,b,c);

System.Console.ReadLine();
        }

C# Interlocked类的事例相关推荐

  1. 利用反射实现类的动态加载

    为什么80%的码农都做不了架构师?>>>    //首先定义一个接口来隔离类: public interface Operator { // public java.util.Lis ...

  2. C# Interlocked 笔记

    无锁代码下,在读写字段时使用内存屏障往往是不够的.在 64 位字段上进行加.减操作需要使用Interlocked工具类这样更加重型的方式.Interlocked也提供了Exchange和Compare ...

  3. C#多线程编程(6)--线程安全2 互锁构造Interlocked

    在线程安全1中,我介绍了线程同步的意义和一种实现线程同步的方法:volatile.volatile关键字属于原子操作的一种,若对一个关键字使用volatile,很多时候会显得很"浪费&quo ...

  4. C# 原子操作 Interlocked

    前言 焦虑与恐惧,往往是是因为想要的太多,但行动却太少.将目标放低,制定足以达到目标的计划,并付之于一步一个脚印的行动.当你确信你在前进的时候,自然就不会焦虑:当你的行动为你积累了足够多的正向改变的时 ...

  5. java类加入到spring容器_普通java类加入spring容器的四种方式

    今天在自己开发的工具类中使用了spring注入的方式调用了其他类,但是发生的报错,在整理了后今天小结一下. 首先简单介绍下spring容器,spring容器是整个spring框架的核心,通常我们说的s ...

  6. 2012-5-3 线程和进程的区别

    进程和线程的区别 http://www.cnblogs.com/lmule/archive/2010/08/18/1802774.html 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. ...

  7. C#与NET实战 第5章 进程、线程与同步 节选

    下来我们将讨论Windows NT/2000/XP操作系统架构下有关进程与线程的基本概念.必须牢记,上一章所介绍的CLR是在启动.NET程序集时,被运行时宿主载入进程的一个软件层. 5.1 简介 进程 ...

  8. C#线程同步的几种方法

    在网上也看过一些关于线程同步的文章,其实线程同步有好几种方法,下面我就简单的做一下归纳. 一.volatile关键字 volatile是最简单的一种同步方法,当然简单是要付出代价的.它只能在变量一级做 ...

  9. C#多线程学习(四) 多线程的自动管理(线程池) (转载系列)——继续搜索引擎研究...

    在多线程的程序中,经常会出现两种情况: 一种情况:   应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应                   这一般使用ThreadPo ...

最新文章

  1. 最新综述:基于深度学习方式的单目物体姿态估计与跟踪
  2. cocos2d-x lua 学习笔记(1) -- 环境结构
  3. Java JTable3
  4. 读博士也有技巧:如何快乐地做研究
  5. java回合制武侠手游_‎App Store 上的“群侠传-怀旧开放武侠RPG回合制手游”
  6. kmeans聚类算法matlab代码,K-Means算法实现(Matlab)
  7. 软件工程第二次课课堂总结
  8. linux取消登陆管理器,自动登录linux(不使用登录管理器)
  9. 【java】doc转pdf
  10. 45个python入门案例_给Python小白看的10个使用案例,入门Python就在这里了
  11. android ndk r10d.rar,[Android] 环境配置之Android Studio开发NDK
  12. 设有单总线结构计算机的cpu数据通路,中央处理器——数据通路之单总线结构
  13. 计算机毕业优秀作品展观后感,毕业设计作品展观后感
  14. Device ID的用处和读取方法
  15. Microsoft Word 教程:如何在 Word 中插入表格?
  16. 几个简单的论文下载方法
  17. hyu 1698 Just a Hook
  18. [NOIP模拟][动态规划]permut
  19. Matplotlib之扇形图绘制
  20. Java医院管理系统(his)源码免费分享

热门文章

  1. 从零学习PyTorch(5)----整个天空都是灰蒙蒙的
  2. VMwareWorkStation虚拟机安装RHEL7.0Linux操作系统
  3. 寒假的时候,小明同学要去拜访很多朋友,恰巧他所有朋友的家都处在坐标平面的X轴上。小明可以任意选择一个朋友的家开始访问,但是每次访问后他都必须回到出发点,然后才能去访问下一个朋友。
  4. LLMs之Alpaca:《Alpaca: A Strong, Replicable Instruction-Following Model》翻译与解读
  5. lisp6 暖通cad_CAD迷你看图软件_CAD制图工具下载_免费CAD软件下载-华军纯净下载
  6. 前端:页面内容不够,始终把footer固定在底部
  7. Java培训总结-第1周
  8. php gif裁剪,ci裁剪gif图片如何让gif保持是动态的。
  9. 基于微信小程序投票评选系统设计与实现开题答辩PPT
  10. Nginx listen指令处理连接请求