C#原子操作(Interlocked.Decrement和Interlocked.Increment)
2024-09-08 09:56:36
一、概念
在多线程环境中,不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。
二、类
System.Threading.Interlocked 静态类
三、常用函数(其他的自己看吧)
1.public static int Decrement(ref int location); //以原子操作的形式递减指定变量的值并存储结果
相当于 lock(obj){i--;}
2.public static int Increment(ref int location); //以原子操作的形式递增指定变量的值并存储结果
相当于 lock(obj){i++;}
最新文章
- 利用Microsoft.Practices.Unity的拦截技术,实现.NET中的AOP
- 【类库】容器对象(List、DataTable、 DataView、Dictionary)
- redis 快速入门(win7)
- iOS遍历相册中的图片
- javascript 简单加解密
- C语言 百炼成钢5
- IO端口和IO内存的区别及分别使用的函数接口
- BufferedReader,缓冲输入字符流
- Java的浮点数
- 终极解法According to TLD or attribute directive in tag file, attribute select does not accept any expressions
- .NET常见面试题
- ANSI C中取得结构体字段偏移量的常用方法
- 快速排序算法的C语言实现
- [WinForm]dataGridView动态加载以本地图片显示列
- Octopus501工作站环境配置
- [C#][WebAPI]返回 json
- 关于Asp.Net中的编程实现下载
- CentOS Linux解决Device eth0 does not seem to be present 但是没有发现eth1
- C++中的类继承之单继承&;多继承&;菱形继承
- bzoj 2194: 快速傅立叶之二 -- FFT
热门文章
- vscode使用Chrome浏览器调试不好用,解决方法!!
- Fabric 查看 blockfile_000000 区块文件
- 【ARM-Linux开发】C语言getcwd()函数:取得当前的工作目录
- 【编程开发】加密算法(MD5,RSA,DES)的解析
- Python+requests维持会话
- Flask Bug记录之JinJa2.exceptions.UndefinedError: 'sqlite3.Row object' has no attribute 'get'
- Redis 原子操作——事务
- Web应用中访问WEB-INF下的资源
- 【转】三种方法让你在I2C通信中同时和多个从机通信
- X86驱动:挂接SSDT内核钩子