本月博客排行
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- zhanjia
- lzyfn123
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- kristy_yy
- lich0079
- johnsmith9th
- jveqi
- java-007
- sunj
最新文章列表
Java 并发编程艺术阅读笔记
有关 Java 并发编程艺术的阅读笔记可以去我的 github 上查看:
地址:https://github.com/xiaoheng1/concurrent-programming
本人能力有限,欢迎各位大佬批评指正,我们互相交流,互相学习,共同进步!
关于 Future 类 boolean cancel(boolean mayInterruptIfRunning) 的疑问
boolean cancel(boolean mayInterruptIfRunning) 方法描述:
/**
* Attempts to cancel execution of this task. This attempt will
* fail if the task has already completed, has already been cancelled,
...
java多线程知识整理
java多线程知识整理 本文不是入门篇,仅记录容易出错的知识点
为什么需要多线程
根本原因:
同一段时间尽量做更多的事;
充分发挥CPU的功能,避免浪费CPU资源;
同一时间需要做不同的事;
多线程的核心问题
Java并发编程之CountDownLatch、CyclicBarrier和Semaphore
java的concurrent包为我们提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天就来介绍下这三个辅助类并进行对比:
CountDownLatch的介绍和使用可见我之前的博客:
http://wosyingjun.iteye.com/blog/2223933
CyclicBarrier的 ...
Semaphore的介绍和使用
一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。拿到信号量的线程可以进入代码,否则就等待。通过acquire()和release()获取和释放访问许可。 ...
CyclicBarrier介绍和使用
CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。
CyclicBarrier类位于java.util.conc ...
ReentrantReadWriteLock 源码分析 结合场景
网上很多大神写了关于AQS和读写锁的源码分析,看了收益良多。但是发现很少有基于读锁和写锁被持有的场景结合源码进行分析的,
所以尝试记录自己的分析结果,如果有人有暇发现了错误,请不吝赐教。
1: 读锁请求和释放
readLock.lock()
多个读请求锁,主要是调用ReentrantReadWriteLock的tryAcquireShared()方法
下面仔细分析下这个方法:
...