随笔分类 -  同步

摘要:学习C#互斥锁Monitor,注意避免锁定值类型和try/finally错误,善用TryEnter避免长时间持锁,以及使用Wait、Pulse等方法实现生产者-消费者模式。示例代码和测试方法在代码库。 阅读全文
posted @ 2025-02-13 15:54 IT规划师 阅读(168) 评论(0) 推荐(0) 编辑
摘要:lock是C#中的线程同步互斥锁,使用时需避免锁定this、公共对象、字符串和非readonly对象,小心锁定静态对象。锁定不当易导致同步问题,示例代码和源码在代码库。 阅读全文
posted @ 2025-02-09 21:05 IT规划师 阅读(356) 评论(0) 推荐(1) 编辑
摘要:学习Interlocked类其他方法,包括Exchange、CompareExchange的泛型和非泛型版本,用于原子更新变量并获取旧值,实现锁机制和CAS算法;And、Or方法用于原子按位操作;MemoryBarrier方法用于执行内存屏障。 阅读全文
posted @ 2025-02-08 17:08 IT规划师 阅读(137) 评论(1) 推荐(2) 编辑
摘要:本文介绍Interlocked类的使用,包括Read、Increment、Decrement和Add方法,适用于多线程环境安全操作变量,解决了非原子操作导致的线程安全问题,并提供示例代码。 阅读全文
posted @ 2025-02-07 09:38 IT规划师 阅读(309) 评论(0) 推荐(0) 编辑
摘要:原子操作是不可分割的操作单元,Interlocked提供硬件级别原子操作,比传统锁机制效率高。Interlocked支持多种原子操作,如增减、替换、位操作等,确保多线程安全。 阅读全文
posted @ 2025-02-05 18:00 IT规划师 阅读(278) 评论(0) 推荐(2) 编辑
摘要:ThreadStatic实现线程本地存储,避免共享资源问题;ThreadLocal解决其缺陷;volatile关键字防止缓存和编译器优化,非完整线程同步机制。 阅读全文
posted @ 2025-01-29 22:32 IT规划师 阅读(349) 评论(0) 推荐(4) 编辑
摘要:线程同步确保多线程环境下共享资源安全使用,避免竞争条件和数据不一致。实现方式有避免资源共享、用户模式同步、内核模式同步和混合模式同步。 阅读全文
posted @ 2025-01-23 21:52 IT规划师 阅读(652) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示