一 . 概述
在前面我们介绍了线程的同步和通信的方式,其根本就是在线程并发的时候更好的保证线程的安全性,可见性,有序性.
总的来说,就是将线程的不可控制的特性尽量降低,在正确和性能之间寻找平衡点.
控制就意味性能的降低,但是我们需要控制来保证安全性.
总的来说,现在就是我们寻找线程的平衡点的一个时机.
二 .我们的期望
对于线程来说.我们希望获取的是性能高效且结果正确的线程运行.
但是这个是不可能的.我们总需要牺牲一些来完成.但是这并不是说我们无能为力,我们可以做出一下的几点改进.
[1]减小锁的粒度,于是JUC中出现了高级锁.
[2]无锁化,使用CAS来完成.
[3]并发方案的整体改进,线程辅助类的提出.
[4]减少线程创建的代价,线程池框架的出现.
[5]安全集合减少同步代价
等等,不一而足,上面的这些东西都在JUC之中出现了.另外还有Callable,Future异步等概念的出现,Fork/Join并行的概念的出现.
通过JUC,我们可以简化并发程序编写的难度,但是我们需要知道的是,并发总是需要小心的对待.