锁
tianshi1017
这个作者很懒,什么都没留下…
展开
-
synchronized(java高并发下的唯一性验证)
一般会遇到唯一性的问题,比如添加用户要求用户名称或登陆名唯一,我们通常的做法是:先根据条件去数据中查询是否存在,如果存在则提示已经存在了,不允许添加,否则插入。但是这种做法在两种情况下很容易出现问题:1. 当添加用户这个过程耗时比较长时,如果两个人同时添加了一个相同名称的用户,低并发的情况下容易两个验证都通过。比如:第一个添加还没有进入数据库,第二个已经通过了验证,准备执行添加操作时。...转载 2018-10-24 16:53:14 · 2668 阅读 · 0 评论 -
【转载】Java并发编程:Lock
Java并发编程:Lock 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐...转载 2018-10-24 17:17:09 · 227 阅读 · 0 评论 -
Redis分布式锁的正确实现方式(Java版)
Redis分布式锁的正确实现方式(Java版)原文出处: 吴兆锋前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redi...转载 2018-12-21 13:57:22 · 278 阅读 · 0 评论