C#开发笔记
02、入门
03、进阶
04、架构
001、入门到精通
002、代码教程
01、知识概念
01、基础语法
02、面向对象
03、集合、异常、泛型、LINQ、委托、EF
04、多线程
05、WPF
06、ASP.NET MVC
07、ASP.NET Core
08、ADO.NET、XML、HTTP、AJAX、WebService
09、常见的算法
10、数据库概念知识
11、数据库SQL查询(附建表语句)
00、高阶
05、U3D
01、基础
001、问的比较多的问题
06、前端开发
001、CSS基础
本文档使用 MrDoc 发布
-
+
首页
002、代码教程
``` [ThreadStatic] public static int a; /* 使其在每个线程中都有独立的副本,从而避免线程间共享数据带来的同步问题。 这对于需要线程级别状态隔离的场景非常有用 这个特性仅用于静态字段 */ ``` ``` thred.Join(); // 用于阻塞调用线程,直到目标线程执行完毕(正常结束或异常退出)。它常用于确保某个线程完成后再继续执行后续逻辑 ``` ``` public readonly ThreadLocal<int> a = new ThreadLocal<int>(); /* 为每个线程提供独立的数据副本,避免多线程访问共享变量时产生的数据竞争问题 这是一个泛型 关键点: Value 属性:获取或设置当前线程的值。 IsValueCreated:判断当前线程是否已初始化值。 Dispose():释放资源,尤其在高并发场景中建议调用。 */ a.Value = 1; ``` ``` Interlocked //原子的操作 Interlocked.Increment(ref int location)://原子地将指定变量的值加 1。 Interlocked.Decrement(ref int location)://原子地将指定变量的值减 1 Interlocked.Add(ref int location, int value)://原子地将指定变量的值加上给定的值。 Interlocked.Exchange(ref int location, int value)://原子地将指定变量的值设置为给定的值,并返回原始值 Interlocked.CompareExchange(ref int location, int value, int comparand)://原子地比较指定变量的值和给定的比较值,如果相等,则将变量的值设置为给定的值,并返回原始值 // 这个比较可以是对象的比较 /* Interlocked 类适用于以下场景: 计数器:在多线程环境中安全地递增或递减计数器。 标志位:在多线程环境中安全地设置或清除标志位。 简单的原子操作:在多线程环境中执行简单的原子操作,避免使用锁 原子操作:Interlocked 类提供了一组原子操作方法,确保在多线程环境中安全地操作共享变量。 常用方法:Increment、Decrement、Add、Exchange 和 CompareExchange。 适用场景:计数器、标志位和简单的原子操作。 */ ```
个人天使
2026年2月19日 18:02
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码