并发-多线程
东谌
岁月如歌,流年易逝
展开
-
Java并发编程:volatile关键字解析
文章出处:http://www.cnblogs.com/dolphin0520/p/3920373.html Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile...转载 2019-02-22 18:13:48 · 101 阅读 · 0 评论 -
Java并发编程:ReetrantLock(重入锁)源码解析
ReentrantLock可以有公平锁和非公平锁的不同实现,只要在构造它的时候传入不同的布尔值,继续跟进下源码我们就能发现,关键在于实例化内部变量sync的方式不同,如下所示: public ReentrantLock(boolean var1) { this.sync = (ReentrantLock.Sync)(var1 ? new Reentran...原创 2019-02-27 18:23:40 · 296 阅读 · 0 评论 -
Java并发编程:Synchronized实现原理
一、Synchronized的基本使用 Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。从语法上讲,Synchronized总共有三种用法: (1)修饰普通方法 (2)修饰静态方法 (3)修饰代码块...原创 2019-03-01 16:46:55 · 193 阅读 · 0 评论 -
Java并发编程:ReentrantLock重入锁功能介绍
jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantLock。虽然在性能上ReentrantLock和synchronized没有什么区别,但ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。 1.ReentrantLock和synchronized的相同点 1.1 Reentr...原创 2019-02-27 15:54:13 · 172 阅读 · 0 评论