在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两 种基本的锁类型来对数据库的事务进行并发控制。 一、事务 ...
分类:
数据库 时间:
2020-04-21 00:24:00
阅读次数:
96
1. synchronized 2.Lock package com.jack.test2; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class M ...
分类:
编程语言 时间:
2020-04-04 09:37:35
阅读次数:
71
Java锁系列教程之独占式锁 在Java并发编程中,锁是一个很重要的对象。Java中锁有两种:隐式锁和显式锁。使用synchronized关键字的锁是隐式锁。因为锁的申请和释放都是由JVM来维护的,不用我们来手动处理。使用Java并发包locks包下的锁,需要使用者手动申请和手动关闭。这种形式是显式 ...
分类:
编程语言 时间:
2020-04-03 13:38:46
阅读次数:
76
Java并发包下锁学习第二篇队列同步器 还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图: ? 从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本文中,凯哥就用AQS来代替这个类)。我们先来了解这个类。对这个类了解之后,学习后面的会更容易了。 本 ...
分类:
编程语言 时间:
2020-03-31 12:26:52
阅读次数:
70
lambda表达式 import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; class Ticket{ private int ticket = 30; Lock lock = ...
分类:
其他好文 时间:
2020-03-30 23:29:12
阅读次数:
79
Java深入学习12:线程按目标顺序执行以及Lock锁和Condiiton接口 一、一个多线程问题,有三类线程,分别是A、B、C,如如实现ABCABCABCABCABC,顺次执行。 方案1。代码如下 import java.util.concurrent.locks.Condition; impor ...
分类:
编程语言 时间:
2020-03-21 21:44:42
阅读次数:
70
Java深入学习11:Lock锁详解 一、Lock锁是什么 java.util.concurrent.locks包下常用的类与接口(lock是jdk 1.5后新增的) Lock 接口支持那些语义不同(重入、公平等)的锁规则,可以在非阻塞式结构的上下文(包括 hand-over-hand 和锁重排算法 ...
分类:
编程语言 时间:
2020-03-20 12:49:32
阅读次数:
82
Dissecting the Disruptor: What's so special about a ring buffer? Trisha's Ramblings: Dissecting the Disruptor: Why it's so fast (part one) - Locks Are ...
分类:
其他好文 时间:
2020-03-14 15:06:15
阅读次数:
70
1.重入锁(ReentrantLock) 重入锁使用java.util.concurrent.locks.ReentrantLock类来实现,具有与synchronized关键字相似的功能。 1 package com.company; 2 3 import java.util.concurrent ...
分类:
其他好文 时间:
2020-03-06 10:51:18
阅读次数:
52
一、基础 JUC: java.util下面的concurrent以及concurrent.atomic、concurrent.locks并发包的总称 线程:进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。 进程:线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分 ...
分类:
其他好文 时间:
2020-03-04 19:06:55
阅读次数:
50