前些时间看别人写的一段关于锁的(对象缓存+线程本地变量)的一段代码,这段代码大致描述了这么一个功能:
外部传入一个key,需要根据这个key去全局变量里面找是否存在,如有有则表示有人对这个key加锁了,往下就不执行具体业务代码,同时,同时哦 还要判断这个key是不是当前线程持有的,如果不是当前线程持有的也不能往下执行业务代码~
然后哦 还要在业务代码执行完成后释放这个key锁,也就是要从
ThreadLocal
里面移除这个key。
当然需求不仅于此,就是业务的特殊性需要
ThreadLocal
同时持有多个不同的key,这就表明
ThreadLocal
的泛型肯定是个List或Set。
然后再说下代码,为了演示问题代码写的比较简略,以下我再一一说明可能存在的问题
同时使用线程本地变量以及对象缓存的问题
未经允许不得转载:小狮博客 » 同时使用线程本地变量以及对象缓存的问题
相关推荐
- AD 横向移动-LSASS 进程转储
- C#/.NET/.NET Core技术前沿周刊 | 第 41 期(2025年6.1-6.8)
- 现代 Python 包管理器 uv
- ArkUI-X与Android桥接通信之方法回调
- 商品中心—2.商品生命周期和状态的技术文档
- Benchmark论文解读:Evaluating the Ripple Effects of Knowledge Editing in Language Models
- WineHQ 发布的 Framework Mono 6.14 的这个特性对Windows Forms 用户来说肯定很感兴趣
- 不写一行代码 .NET 使用 FluentCMS 快速构建现代化内容管理系统(CMS)