文档章节

单模块中ReentrantLock的使用

亚林瓜子
 亚林瓜子
发布于 09/25 11:50
字数 191
阅读 6
收藏 2

背景

在单模块应用中,对同一个请求,需要进行同步。注意ReentrantLock的使用场景:

  • 同一个线程中
  • 同一个请求

RestController

@RestController
public class Controller {
	private final ReentrantLock lock = new ReentrantLock();
	...
	@PostMapping
 	public User add(User user){
 		lock.lock();
		try{
		  ...
		} finally{
		  lock.unlock();
		}

	  }
	...
}

后续

注意,这里使用场景,必须是在同一线程,同一个请求,才能够使用ReentrantLock。如果以后有机会,再尝试一下redis+spring boot来实现分布式锁。

参考

幂等性和高并发在电商系统中的使用

Guide to java.util.concurrent.Locks

© 著作权归作者所有

共有 人打赏支持
亚林瓜子

亚林瓜子

粉丝 21
博文 168
码字总数 57656
作品 0
长沙
高级程序员
私信 提问
这里有一份面经,请查收(七)

本文作者:伯乐在线 -朱小厮 。未经作者许可,禁止转载! 欢迎加入伯乐在线专栏作者。 本篇所要介绍的是一家互联网企业,简称MD好了。一面是电面,二三面是face2face的技术面,4面是HR面。 ...

伯乐在线
2016/09/04
0
0
并发编程-锁的发展和主流分布式锁比较总结

一、锁的发展 系统结构由传统的“单应用服务--》SOA --》微服务 --》无服务器” 的演进过程中,场景越来越复杂,由单体应用的但进程中多线程并发的内存锁,随着互联网场景越来越复杂,在复杂...

贾浩v
2017/10/24
0
0
第四章-java多线程核心技术-Lock锁-第一篇

lock锁的使用 ReentrantLock锁的使用 在JDK5.0版本之前,重入锁的性能远远好于synchronized关键字,JDK6.0版本之后synchronized 得到了大量的优化,二者性能也不分伯仲,但是重入锁是可以完全...

简心
09/05
0
0
Java中的公平锁和非公平锁实现详解

前言 ReentrantLock的可重入性分析 synchronized的可重入性 ReentrantLock的可重入性 ReentrantLock锁的实现分析 公平锁和非公平锁 公平锁FairSync 非公平锁NonfairSync ReentrantLock锁的释...

kim_o
06/08
0
0
Java多线程三(线程安全的集合及java.util.concurrent包的锁)

一、线程安全的集合 JDK1.5之前,可以使用Venctor和Hashtable,也可以由java.util.Collections来创建线程安全的集合,如:Connections.synchronizedSet(Set<T>); Connections.synchronizedLi......

dkz
2013/03/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybatis学习(1)

JDBC连接方式: 1.底层没有使用连接池,操作数据库需要频繁的创建和关闭连接,消耗资源。 2.写原生的JDBC代码在JAVA中,一旦需要修改SQL的话(比如表增加字段),JAVA需要整体重新编译,不利...

杨健-YJ
19分钟前
0
0
怎么组织文档

可以从以下几个方面考虑组织文档: ☐ 各种分支的界面截图和对应的类及文件 ☐ 框架或类图 ☐ 流程图 ☐ 时序图 ☐ 注意事项

-___-
30分钟前
1
0
分布式之数据库和缓存双写一致性方案解析

引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更...

别打我会飞
32分钟前
5
0
我的oracle11G,12c OCM之路

ocm认证感悟 ---------------------- 距离拿到ocm证书已经过了1年的时间,当初拿到证书的心情到现在还记得。其实在每个DBA心里都有一个成为强者的梦想,需要被认可,我也一样。我干过开发,做...

hnairdb
33分钟前
1
1
手动部署kubernetes集群(1.13.1最新版)

一、机器规划 使用五台机子部署k8s集群,规划如下: master节点3台(同时也是etcd节点) node节点2台 ip分配如下: ip:192.168.10.101,主机名:k8s-etcd01 ip:192.168.10.102,主机名:k8s...

人在艹木中
38分钟前
28
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部