前面我们多次提到一个累加器的例子,示例代码如下。在这个例子中,add10K() 这个方法 不是线程安全的,问题就出在变量 count 的可见性和...

前面我们多次提到一个累加器的例子,示例代码如下。在这个例子中,add10K() 这个方法 不是线程安全的,问题就出在变量 count 的可见性和...
Java 并发包有很大一部分内容都是关于并发容器的,因此学习和搞懂这部分的内容很有必要。 Java 1.5 之前提供的同步容器虽然也能保证线程安...
前几天老板突然匆匆忙忙过来,说对账系统最近越来越慢了,能不能快速优化一下。我了解了对账系统的业务后,发现还是挺简单的,用户通过在线商城下单,会生...
在上一篇文章中,我们介绍了读写锁,学习完之后你应该已经知道“读写锁允许多个线程同时读共享变量,适用于读多写少的场景”。那在读多写少的场景中,还有...
前面我们介绍了管程和信号量这两个同步原语在 Java 语言中的实现,理论上用这两个同步原语中任何一个都可以解决所有的并发问题。那 Java SD...
如果五轮面试中四轮问道了ThreadLocal,是一种什么体验? 在java的多线程模块中,ThreadLocal是经常被提问到的一个知识点 ,...
Semaphore,现在普遍翻译为“信号量”,以前也曾被翻译成“信号灯”,因为类似现实生活里的红绿灯,车辆能不能通行,要看是不是绿灯。同样,在编...
在上一篇文章中,我们讲到 Java SDK 并发包里的 Lock 有别于 synchronized 隐式锁的三个特性:能够响应中断、支持超时和非...
在工作中,我发现很多同学在设计之初都是直接按照单线程的思路来写程序的。 而忽略了本应该重视的并发问题。 关于这个问题,我们今天来聊聊 如何用面向...
并发的故事起源是怎么样的呢? 起源是一个硬件的核心矛盾:CPU 与内存、I/O 的速度差异,系统软件(操作系统、编译器)在解决这个核心矛盾的同时...
专题公告
Java 并发编程