什么是分布式锁?在回答这个问题之前,我们先回答一下什么是锁。
普通的锁,即在单机多线程环境下,当多个线程需要访问同一个变量或代码片段时,被访问的变量或代码片段叫做临界区域,我们需要控制线程一个一个的顺序执行,否则会出现并发问题。
如何控制呢?就是设置一个各个线程都能看的见的标志。然后,每个线程想访问临界区域时,都要先查看标志,如果标志没有被占用,则说明目前没有线程在访问临界区域。如果标志被占用了,则说明目前有线程正在访问临界区域,则当前线程需要等待。
这个标志,就是锁。
在单机多线程的java程序中,我们可以使用堆内存中的变量作为标志,因为多线程是共享堆内存的,堆内存中的变量对于各个线程都是可见的。
1、Java基础
Java基础务必要有一个非常牢固的根基,尤其是对于JVM和并发编程的掌握情况**(属于进阶内容,但也是Java最为重要的基础内容)**,不论是面试还是工作,基础不好,写不出高质量、漂亮的代码;面试估计刚开始就会被面试官给拍死。
基础不好的话,《Java编程思想》和《Java核心技术》这两本书一定要好好看一下,同时再搭配学习笔记等资料,能让你更好的打稳基础!同时,大家可以对照下面这份学习路线梳理一下自己的知识体系,需要获取高清完整版Java学习路线的话,可以在文末免费领取
Java架构师筑基必备技能: