代码改变世界

CountDownLatch使用场景及分析

2019-01-05 19:08 by GarfieldEr007, 355 阅读, 0 推荐, 收藏, 编辑
摘要:JDk1.5提供了一个非常有用的包,Concurrent包,这个包主要用来操作一些并发操作,提供一些并发类,可以方便在项目当中傻瓜式应用。 JDK1.5以前,使用并发操作,都是通过Thread,Runnable来操作多线程;但是在JDK1.5之后,提供了非常方便的线程池(ThreadExecutor 阅读全文

Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore

2019-01-05 19:07 by GarfieldEr007, 136 阅读, 0 推荐, 收藏, 编辑
摘要:原文出处: 海子 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本文目录大纲: 一.CountDownLatch用法 二.CyclicBarri 阅读全文

浅谈volatile与automicInteger

2019-01-05 19:00 by GarfieldEr007, 1562 阅读, 0 推荐, 收藏, 编辑
摘要:在并发环境中有三个因素需要慎重考量,原子性、可见性、有序性。 voatile 保证了有序性(防止指令冲排序)和变量的内存可见性(每次都强制取主存数据),每次取到volatile变量一定是最新的 volatile主要用于解决可见性,它修饰变量,相当于对当前语句前后加上了“内存栅栏”。使当前代码之前的代 阅读全文

AtomicInteger类和int原生类型自增鲜明的对比

2019-01-05 18:57 by GarfieldEr007, 367 阅读, 0 推荐, 收藏, 编辑
摘要:AtomicInteger这个类的存在是为了满足在高并发的情况下,原生的整形数值自增线程不安全的问题。比如说 int i = 0 ; i++;12上面的写法是线程不安全的。 有的人可能会说了,可以使用synchronized关键字啊。 但是这里笔者要说的是,使用了synchronized去做同步的话 阅读全文

java中关于AtomicInteger的使用

2019-01-05 18:53 by GarfieldEr007, 226 阅读, 0 推荐, 收藏, 编辑
摘要:在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。咳哟参考我之前写的一篇博客http://www.cnblogs.com/sharkli/p/5597148.html,今天 阅读全文

【Java并发】JUC—ReentrantReadWriteLock有坑,小心读锁!

2019-01-05 13:22 by GarfieldEr007, 496 阅读, 0 推荐, 收藏, 编辑
摘要:好长一段时间前,某些场景需要JUC的读写锁,但在某个时刻内读写线程都报超时预警(长时间无响应),看起来像是锁竞争过程中出现死锁(我猜)。经过排查项目并没有能造成死锁的可疑之处,因为业务代码并不复杂(仅仅是一个计算过程),经几番折腾,把注意力转移到JDK源码,正文详细说下ReentrantReadWr 阅读全文

深入理解读写锁ReentrantReadWriteLock

2019-01-05 13:19 by GarfieldEr007, 213 阅读, 0 推荐, 收藏, 编辑
摘要:1.读写锁的介绍 在并发场景中用于解决线程安全的问题,我们几乎会高频率的使用到独占式锁,通常使用java提供的关键字synchronized(关于synchronized可以看这篇文章)或者concurrents包中实现了Lock接口的ReentrantLock。它们都是独占式获取锁,也就是在同一时 阅读全文

可重入读写锁ReentrantReadWriteLock基本原理分析

2019-01-05 13:18 by GarfieldEr007, 306 阅读, 0 推荐, 收藏, 编辑
摘要:前言 本篇适用于了解ReentrantLock或ReentrantReadWriteLock的使用,但想要进一步了解原理的读者。见于之前的分析都是借鉴大量的JDK源码,这次以流程图的形式代替源码,希望读者能有更好的阅读体验。有兴趣了解源码的读者也可以借鉴本篇的分析成果做源码分析。 在《从源码分析Re 阅读全文

深入分析ReentrantLock公平锁和非公平锁的区别

2019-01-05 13:12 by GarfieldEr007, 324 阅读, 0 推荐, 收藏, 编辑
摘要:在ReentrantLock中包含了公平锁和非公平锁两种锁,通过查看源码可以看到这两种锁都是继承自Sync,而Sync又继承自AbstractQueuedSynchronizer,而AbstractQueuedSynchronizer又继承自AbstractOwnableSynchronizer,下 阅读全文

在 JDK 9 中更简洁使用 try-with-resources 语句

2019-01-02 21:56 by GarfieldEr007, 448 阅读, 0 推荐, 收藏, 编辑
摘要:本文详细介绍了自 JDK 7 引入的 try-with-resources 语句的原理和用法,以及介绍了 JDK 9 对 try-with-resources 的改进,使得用户可以更加方便、简洁的使用 try-with-resources 语句。 在 JDK 7 之前,资源需要手动关闭。 例如下面一 阅读全文
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 111 下一页