Quguang's Blog

当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人。

《Java并发编程实战》-3-并发设计模式(未完待续)


《Java并发编程实战》-2-并发工具类(下)

前面我们多次提到一个累加器的例子,示例代码如下。在这个例子中,add10K() 这个方法不是线程安全的,问题就出在变量 count 的可见性和 count+=1 的原子性上。可见性问题可以用 volatile 来解决,而原子性问题我们前面一直都是采用的互斥锁方案。


《Java并发编程实战》-2-并发工具类(上)

在前面《08 | 管程:并发编程的万能钥 匙》中我们提到过在并发编程领域,有 两大核心问题:一个是互斥,即同一时刻只允许一个线程 访问共享资源;另一个是同步,即线程之间如何通信、协作。这两大问题,管程都是能够解决 的。Java SDK 并发包通过 Lock 和 Condition 两个接口来实现管程,其中 Lock 用于解决互斥 问题,Condition 用于解决同步问题。


《Java并发编程实战》-1-理论基础篇

这些年,我们的CPU、内存、I/O设备都在不断迭代,不断朝着更快的方向努力。但是在这个快速发展的过程中,又一个核心矛盾一直存在,就是这三者的速度差异


《趣谈网络协议》- Udp Tcp

传输层里比较重要的两个协议,一个是 TCP,一个是 UDP。对于不从事底层开发的人员来讲,或者对于开发应用的人来讲,最常用的就是这两个协议。由于 面试的时候,这两个协议经常会被放在一起问