写点什么

Java并发

83 人感兴趣 · 24 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/f6/f63f97c7002b42ab717c1ff3602c3257.webp?x-oss-process=image/resize,w_416,h_234

Java 多线程并发控制工具信号量 Semaphore,实现原理及案例

用户头像
码农架构1 月 7 日

信号量(Semaphore)是Java多线程兵法中的一种JDK内置同步器,通过它可以实现多线程对公共资源的并发访问控制。一个线程在进入公共资源时需要先获取一个许可,如果获取不到许可则要等待其它线程释放许可,每个线程在离开公共资源时都会释放许可。

https://static001.geekbang.org/infoq/4c/4c9dc46ceaa757f6dfb1e4e5df0babce.png?x-oss-process=image/resize,w_416,h_234

Java 并发编程:AQS 的互斥锁与共享锁

用户头像
码农架构2020 年 12 月 22 日

我们知道现代机器处理器几乎都是多核多线程的,引入多核多线程机制是为了尽可能提升机器整体处理性能。但是多核多线程也会带来很多并发问题,其中很重要的一个问题是数据竞争,数据竞争即多个线程同时访问共享数据而导致了数据冲突(不正确)。数据竞争如果没

https://static001.geekbang.org/infoq/2e/2e08da1d81dfd96f836e40cf3bad2ebf.png?x-oss-process=image/resize,w_416,h_234

Java 并发编程:volatile 能否保证数据的同步

用户头像
码农架构2020 年 12 月 17 日

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。

https://static001.geekbang.org/infoq/d2/d29642031ded0b9b2dbbb606b51d5968.webp?x-oss-process=image/resize,w_416,h_234

Java 并发编程:多线程如何实现阻塞与唤醒

用户头像
码农架构2020 年 12 月 15 日

线程的阻塞和唤醒在多线程并发过程中是一个关键点,当线程数量达到很大的数量级时,并发可能带来很多隐蔽的问题。如何正确暂停一个线程,暂停后又如何在一个要求的时间点恢复,这些都需要仔细考虑的细节。Java为我们提供了多种API来对线程进行阻塞和唤醒操作

https://static001.geekbang.org/infoq/f7/f7d3cf254296f2f34197d626baf56a0f.webp?x-oss-process=image/resize,w_416,h_234

Java 并发编程:任务执行器 Executor 接口

用户头像
码农架构2020 年 12 月 14 日

任务执行器(Executor)是一个接口,位于java.util.concurrent包下,它的作用主要是为我们提供任务与执行机制(包括线程使用和调度细节)之间的解耦。比如我们定义了一个任务,我们是通过线程池来执行该任务,还是直接创线程来执行该任务呢?通过Executor就能

https://static001.geekbang.org/infoq/ac/ac0559da5bf9b767603ea817c6b2d077.webp?x-oss-process=image/resize,w_416,h_234

Java 并发编程:多线程并发内存模型

用户头像
码农架构2020 年 12 月 14 日

多任务处理在现代计算机操作系统中几乎已是一项必备的功能了。在许多情况下,让计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统速度的差距太大,大量的时间都花费在磁盘I/O、网络

https://static001.geekbang.org/infoq/15/151af1bd0a024f29a6d22c0db61bb1c9.png?x-oss-process=image/resize,w_416,h_234

Java 并发编程:并发中死锁的形成条件及处理

用户头像
码农架构2020 年 12 月 13 日

死锁是一种无限的互相等待的状态,两个或两个以上的线程或进程构成一个互相等待的环状。以两个线程为例,线程一持有A锁同时在等待B锁,而线程二持有B锁同时在等待A锁,这就导致两个线程互相等待无法往下执行。现实生活中一个经典的死锁情形就是四辆汽车通过没

https://static001.geekbang.org/infoq/32/32e41b95ffe307a34c76316e7c4b36da.webp?x-oss-process=image/resize,w_416,h_234

Java 并发编程:进程、线程、并行与并发

用户头像
码农架构2020 年 12 月 9 日

一谈到Java并发编程,我们一般就会联想起进程、线程、并行、并发等等概念。那么这些概念都代表什么呢?进程与线程有什么关系?并发与并行又是什么关系呢?

https://static001.geekbang.org/infoq/f3/f31f1c65a6b9c333fe3063b3a75357ed.jpeg?x-oss-process=image/resize,w_416,h_234

java 安全编码指南之:Thread API 调用规则

用户头像
程序那些事2020 年 10 月 19 日

java中多线程的开发中少不了使用Thread,我们在使用Thread中提供的API过程中,应该注意些什么规则呢?

https://static001.geekbang.org/infoq/99/9917f7d0e2d28adbb8877343487afa15.png?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发编程(9):无界线程安全队列 ConcurrentLinkedQueue 源码解析

用户头像
七哥爱编程2020 年 5 月 12 日

这篇文章理解起来不难,相比于 ConcurrentHashMap 比较简单,因为不涉及扩容以及数据迁移等操作,相信你读完一定会有收获的。

https://static001.geekbang.org/infoq/0e/0e376f12e5a89340a43b9ce8d3a664c8.png?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发编程(7):读写锁 ReentrantReadWriteLock 源码解析

用户头像
七哥爱编程2020 年 5 月 2 日

这是《死磕Java并发编程》系列的第7篇文章 我们在一起来看看 读写锁 ReentrantReadWriteLock 的源码分析,基于Java8。

https://static001.geekbang.org/infoq/3f/3f880d4a8b378a3bd264b89cd15a4a0b.jpeg?x-oss-process=image/resize,w_416,h_234

Java 并发编程系列——Fork-Join

用户头像
孙苏勇2020 年 4 月 30 日

一个例子了解Java的Fork-Join

https://static001.geekbang.org/infoq/dd/dde89e359baca335bfea000eccc02b59.png?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发(5):线程详解,Java 开发这么久,这些线程的基础知识你确定都会了?

用户头像
七哥爱编程2020 年 4 月 29 日

Java线程的状态,以及如何安全的启动和停止你都掌握了?看了本文你一定会有很大的收获

https://static001.geekbang.org/infoq/fb/fb7eafbcb4a1a86c674eefb8ca6f686b.jpeg?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发编程(4):happens-before 是什么?JMM 最最核心的概念,看完你就懂了

用户头像
七哥爱编程2020 年 4 月 27 日

happens-before是JMM最核心的概念。对应Java程序员来说,理解happens-before是理解JMM的关键。

https://static001.geekbang.org/infoq/fd/fd79b4577e06eec6e5b24a278a0f03ac.png?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发编程(6):从源码分析清楚 AQS

用户头像
七哥爱编程2020 年 4 月 26 日

这次就彻底搞懂Java并发包中的锁原理,不用每次面试都去背一遍了

https://static001.geekbang.org/infoq/f3/f3280f00b58861f99eb9830ea6c9679c.jpeg?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发编程(3):volatile 关键字不了解的赶紧看看

用户头像
七哥爱编程2020 年 4 月 25 日

深入解析 高频面试点 volatile 关键字的内存语义和实现,赶紧来看看

https://static001.geekbang.org/infoq/1f/1f35f5d6f7bd0afee1acdc88a6428f8f.jpeg?x-oss-process=image/resize,w_416,h_234

阿里面试,一面就倒在了 Java 内存模型上?赶紧来看看

用户头像
七哥爱编程2020 年 4 月 23 日

最近金三银四跳槽找工作的高峰期,我也凑热闹准备出去看看机会,结果就写了简历,一边投一边复习准备试试水,结果一周内就接到了阿里的面试邀约,结果一面就凉了。

https://static001.geekbang.org/infoq/f6/f65f5c9c2f728adec8dcb67d8724abb6.jpeg?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发编程(1):探究 Java 并发机制的底层原理

用户头像
七哥爱编程2020 年 4 月 23 日

说到并发编程,相信很多人和我一样,对于“并发编程” 这个名词,一下就想到了多线程程序。紧接着又会想到涉及到锁的相关知识、线程池等一些知识片段。 但是对于这些知识的底层原理或者说JDK提供给我们的并发包下面的工具类,都是没怎么接触过的。

Java并发_Java并发资料文章-InfoQ写作平台