
并发编程
文章平均质量分 64
silk_bar
这个作者很懒,什么都没留下…
展开
-
【并发编程】concurrent包的Condition使用详解
最近使用Condition时有一些疑惑,于是自己做了几个实验,了解了Condition的具体用法,现记录如下。 首先我们直接来看一段之前网上看到的一个输出1-9的例子,当然网上那个例子是有缺陷的,并不能保证每次都能输出1-9,后面会介绍原因,先看如下代码:public class ConditionTest { public static void main(String[] a原创 2017-02-20 22:45:33 · 1440 阅读 · 0 评论 -
【并发编程】ReentrantLock使用介绍
Java 5.0之前,在协调对共享对象的访问时可以使用的机制只有synchronized和volatile。java 5.0增加了一种新的机制:ReentrantLock,用以当内置枷锁机制不适用时,作为一种可选择的高级功能。 Lock提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,下面来看Lock接口提供了哪些方法:public interface Lock {原创 2017-02-21 21:17:01 · 407 阅读 · 0 评论 -
【并发编程】当我们谈论线程安全时我们在谈论什么
线程安全是一个老生长谈的话题,做开发的人人都会碰到且谈论这个话题,今天就来从内存角度上深入剖析一下什么是线程安全。 首先,我们知道jvm内存总体来讲分为:栈、堆、程序计数器、方法区。其中又分为线程私有(每个线程单独维护)和线程共享的区域,线程私有区域不会涉及多线程间通信和同步问题,所以线程安全肯定是出现在线程共享区域的。 接下来提出一个问题,上述4个内存区域中,哪些是线程私原创 2017-03-04 13:38:06 · 2380 阅读 · 3 评论