- 博客(2)
- 收藏
- 关注
原创 ThreadLocal底层理解
ThreadLocal是一种线程隔离机制,它保证了多线程访问下,对共享变量访问的安全性,在解决多线程访问共享变量情况下一般方法是加锁,保证同一时刻只有一个线程对共享变量进行修改,但是加锁会带来一个性能下降的问题,所以ThreadLocal采用了一个空间换时间的思想,它在每个线程里边有一个容器,这个容器是用来存储共享变量的一个副本,然后每个线程只对自己的副本进行操作,就不会发生线程安全问题,又避免使用锁的一个开销,它底层是由map结构存储的,属于一个强引用,所以使用完要remove,不然会一直存在,容易造成内
2022-04-10 00:24:22
179
原创 为什么要使用Redission分布式锁
分布式锁是一种跨进程,跨节点的一种互斥锁,它可以保证多个机器节点对访问共享资源的排他性。我们也可以使用redis的setnx命令来实现排他性,当key不存在的时候就返回1,存在的话就返回0,也可以使用expire命令来设置锁的过期时间,从而避免死锁问题,对于业务没执行完锁过期的话,可以写定时任务对指定的key续期。但是这种都是比较麻烦的,Redission的出现可以就方便了这些步骤,Redission底层封装了一个watchdog看门狗机制,它会去对我们的key去做续期,另外是基于lua脚本实现,用于保证设
2022-04-10 00:03:01
3313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人