首先,我们需要知道在非分布式环境中,什么可以用锁来解决?
多线程环境,共享资源线程安全问题!此时,共享资源通常在一台机器的多线程中竞争。从JAVA内存模型的角度来看,我们可以通过锁定对象、方法和代码块来避免共享资源的竞争
!1,生成全局ID;
2,修改全局配置文件;
3,分布式服务中的seckill;
4,分布式环境中的重复提交;
1,使用数据库的唯一主键实现锁定
!2、使用redis指令:通常使用setnx方法,incr方法实现
3、使用zookeeper:使用API生成临时节点实现锁定
下面简要说明以下原因:
锁定是因为操作不是原子的。让我们用操作一来解释它。看下面两个图。
我这个操作需要
看上面的第二个图,你能很清楚地理解这个过程吗?
锁定是为了确保上述三个步骤是原子操作。
回到问题上来,只有一个线程要写,没有竞争,所以不需要锁定。
但是,如果你看第一张图片,因为主内存和本地内存的存在
在一个线程写入后,其他线程无法立即看到它。这就是可见性问题。
添加volatile关键字后,它将在操作后强制工作内存和主内存同步,以确保其他线程可以立即看到它。
谢谢
!Java语言规范明确指出,如果锁定的对象为null,则会发生NullPointerException。规范的内容如下:
表达式的类型必须是引用类型,否则会发生完全时间错误。首先计算表达式,执行同步语句。然后:如果表达式的求值由于某种原因完全完成,那么synchronized语句也会因为同样的原因突然完成。否则,如果表达式的值为null,则抛出NullPointerException。
电脑白屏是怎么回事?导致白屏的现象一般有以下几种:1。打开白屏电源图形卡故障,取出图形卡,用橡皮擦金手指清洁主板插槽,然后将其插入;同时用驱动程序向导2010更新图形卡驱动程序。降低分辨率、颜色质量和刷新率;降低硬件加速桌面属性设置高级故障
上海外滩茂悦大酒店顶楼是什么餐厅?Vue餐厅位于西楼顶层的四楼,有一家独特而时尚的餐厅和酒吧——非常时尚的Vue。由日本著名室内设计公司super potato设计的多层多概念空间,将私人住宅的概念与外滩、浦东的壮丽景色融为一体。香氛位于香
搭建网站用什么服务器?根据经验,我推荐BlueHost的服务器。云服务器是一种基于分布式计算系统的云服务器,仅用于站点建设。这是一款集云服务器的资源独占性和虚拟机管理的便利性于一体的创新型服务器。由于独家CPU、内存、带宽、BGP多线接入、
为什么现在有些人放着12306官网不买火车票,偏偏要去各种旅游网站上抢票?今天,我订了一张某次旅行的机票,因为我儿子的身份信息还没有核实,所以我不能订。我让他坐公共汽车去火车站核实一下。结果去了之后,我打电话说售票员说没有12306账号和密
后端开发完接口才给出接口文档,合理吗?你怎么看?一个非常好的问题。我是一个web应用程序架构师,多年来一直致力于回答这个问题。欢迎跟我来了解更多。后端提供接口文档为时已晚,这是合理和不合理的。根据具体情况,总有解决办法。让我谈谈我的观点。不
我是一名事业单位工作人员,犯了错领导让写检查,我挺担心的会有什么严重后果吗?当公共机构的人犯错时,开支票应该没什么大不了的。如果这是个大错误,那就不仅仅是支票了。我劝你:认真写检查,态度一定要诚恳。写完后,向领导征求意见,注意自己的态度,谦
网维大师无盘如何开启超级用户?网站管理员无盘(系统虚拟磁盘)有两种方法可以打开超级用户:[1。您可以在无盘(系统虚拟磁盘)控制台上找到需要打开超级用户的客户机,然后右键单击=>super。注意:超级用户状态可以在客户端处于开机状态时开启,重
五新战略内容?指新零售、新金融、新制造、新技术、新能源。五新什么内容?“五新”的内容是:努力挖掘提高粮食生产能力的新潜力开辟优化农业结构的新途径寻求转变农业发展方式的新突破取得农民增收的新成效走新路建设新农村的步骤五个要点:1。扎实推进经济
二分法比较次数?二进制搜索要求线性表的节点按键值排序并按顺序存储。搜索时,它首先与表中间节点的键值进行比较。如果相等,则搜索成功。否则,根据比较结果,确定下一步将在表的上半部分或下半部分继续。二进制搜索的效率更高。如果线性表有n个元素,则最
Bootstrap树形菜单的使用,有没有封装好的插件,带复选框的?引导中是否有任何封装使辅助菜单水平排列?touch命令有两个功能:一个是将现有文件的时间标签更新到系统的当前时间(默认模式),使其数据保持不变;另一个是创建新的空文件。其他说