摘要: .NET10预览版发布,含C#14预览版。安装需下载SDK,创建.NET10类库需开启预览版SDK功能。C#14新增field关键字、nameof表达式支持未绑定泛型、Span隐式转换等功能。测试代码已上传至代码库。 阅读全文
posted @ 2025-03-03 17:13 IT规划师 阅读(1099) 评论(6) 推荐(5) 编辑
摘要: 信号量Semaphore是C#中用于线程同步的机制,通过计数器控制对共享资源的访问。Semaphore和SemaphoreSlim是两种实现,前者内核级别,支持跨进程;后者用户级别,性能更高。使用需注意配对获取和释放信号量。 阅读全文
posted @ 2025-02-19 16:44 IT规划师 阅读(492) 评论(0) 推荐(2) 编辑
摘要: SpinLock是C#中轻量级锁,通过自旋避免线程上下文切换。传递时需小心,用ref避免副本问题。适用于高并发且锁持有时间短的场景,避免单核CPU。可自己实现简单自旋锁。 阅读全文
posted @ 2025-02-17 17:39 IT规划师 阅读(555) 评论(2) 推荐(5) 编辑
摘要: 学习C#互斥锁Monitor,注意避免锁定值类型和try/finally错误,善用TryEnter避免长时间持锁,以及使用Wait、Pulse等方法实现生产者-消费者模式。示例代码和测试方法在代码库。 阅读全文
posted @ 2025-02-13 15:54 IT规划师 阅读(498) 评论(0) 推荐(1) 编辑
摘要: lock是C#中的线程同步互斥锁,使用时需避免锁定this、公共对象、字符串和非readonly对象,小心锁定静态对象。锁定不当易导致同步问题,示例代码和源码在代码库。 阅读全文
posted @ 2025-02-09 21:05 IT规划师 阅读(534) 评论(0) 推荐(1) 编辑
摘要: 学习Interlocked类其他方法,包括Exchange、CompareExchange的泛型和非泛型版本,用于原子更新变量并获取旧值,实现锁机制和CAS算法;And、Or方法用于原子按位操作;MemoryBarrier方法用于执行内存屏障。 阅读全文
posted @ 2025-02-08 17:08 IT规划师 阅读(204) 评论(1) 推荐(2) 编辑
摘要: 本文介绍Interlocked类的使用,包括Read、Increment、Decrement和Add方法,适用于多线程环境安全操作变量,解决了非原子操作导致的线程安全问题,并提供示例代码。 阅读全文
posted @ 2025-02-07 09:38 IT规划师 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 原子操作是不可分割的操作单元,Interlocked提供硬件级别原子操作,比传统锁机制效率高。Interlocked支持多种原子操作,如增减、替换、位操作等,确保多线程安全。 阅读全文
posted @ 2025-02-05 18:00 IT规划师 阅读(401) 评论(0) 推荐(2) 编辑
摘要: ThreadStatic实现线程本地存储,避免共享资源问题;ThreadLocal解决其缺陷;volatile关键字防止缓存和编译器优化,非完整线程同步机制。 阅读全文
posted @ 2025-01-29 22:32 IT规划师 阅读(467) 评论(0) 推荐(5) 编辑
摘要: 线程同步确保多线程环境下共享资源安全使用,避免竞争条件和数据不一致。实现方式有避免资源共享、用户模式同步、内核模式同步和混合模式同步。 阅读全文
posted @ 2025-01-23 21:52 IT规划师 阅读(780) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示