欢迎光临
我们一直在努力

同时使用线程本地变量以及对象缓存的问题

  前些时间看别人写的一段关于锁的(对象缓存+线程本地变量)的一段代码,这段代码大致描述了这么一个功能:

外部传入一个key,需要根据这个key去全局变量里面找是否存在,如有有则表示有人对这个key加锁了,往下就不执行具体业务代码,同时,同时哦 还要判断这个key是不是当前线程持有的,如果不是当前线程持有的也不能往下执行业务代码~

   然后哦 还要在业务代码执行完成后释放这个key锁,也就是要从
ThreadLocal 里面移除这个key。

  当然需求不仅于此,就是业务的特殊性需要
ThreadLocal 同时持有多个不同的key,这就表明
ThreadLocal 的泛型肯定是个List或Set。

  然后再说下代码,为了演示问题代码写的比较简略,以下我再一一说明可能存在的问题

赞(0)
未经允许不得转载:小狮博客 » 同时使用线程本地变量以及对象缓存的问题
分享到: 更多 (0)