
Java并发编程
文章平均质量分 70
Java并发编程
西魏陶渊明
稻盛和夫说:你不会的东西,觉得难的东西,一定不要躲,先搞明白,后精湛,你就比别人优秀了。因为大部分人都不舍得花力气去钻研,自动被淘汰,所以你执着的努力,就占了大便宜。
展开
-
性能优化之@Contended减少伪共享
说到伪共享,就要说CPU缓存,我们程序执行时候信息会被保存到CPU缓存中而这些缓存中的数据可能被多线程访问,假如一个线程还没处理完原创 2022-07-17 12:25:10 · 654 阅读 · 1 评论 -
Java并发包队列之BlockingQueue
BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。当队列满了的时候进行入队列操作当队列空了的时候进行出队列操作因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除非有另一个线程做了出队列操作;同样,当一个线程试图对一个空队列进行出队列操作时,它将会被阻塞,除非有另一个线程进行了入队列操作。......原创 2022-07-17 12:22:20 · 454 阅读 · 0 评论 -
Java并发编程之Condition条件锁
Condition是为了调换Object中的wait()和notify().原创 2022-07-16 20:48:14 · 878 阅读 · 0 评论 -
Java并发编程之原子操作
原子操作类原创 2022-07-16 20:09:11 · 630 阅读 · 0 评论 -
Java并发编程之循环锁屏障 CyclicBarrier
五个人开黑,少一个人就开不了。当所有线程都准备好则开始。莫笑少年江湖梦,谁不少年梦江湖。原创 2022-07-16 20:07:13 · 503 阅读 · 0 评论 -
Java并发编程之倒计锁 CountDownLatch
上文我们知道了Semaphore信号量的用法,那么这一篇基本不用学了。因为原理基本上是一样的。但是用法不太一样。Semaphore是获取到资源就执行,获取不到资源就等待。跟Semaphore正好相反。CountDownLatch#await()可以理解为获取不到资源,就等待。这么说不太好理解,直接看源码吧。...原创 2022-07-16 20:05:24 · 473 阅读 · 0 评论 -
Java并发编程之信号量 Semaphore
`Semaphore` 翻译过来就是信号量, 其根本原理就是基于 `CAS` 共享锁的一种实现。举一个例子。假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆不受阻碍的进入,然后放下车拦,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。这时,有一辆车离开停车场,看门人得知后,打开车拦,放入一辆,如果又离开两辆,则又可以放入两辆,如此往复。那么上面的这个例子可以这样理解,资源一共有3个, 即三个车位。如何来控制这5辆汽车,来合理的使用这3个资源呢?..原创 2022-07-16 20:03:01 · 497 阅读 · 0 评论