020 线程的综合考虑

一 . 概述

  在前面我们介绍了线程的同步和通信的方式,其根本就是在线程并发的时候更好的保证线程的安全性,可见性,有序性.

    总的来说,就是将线程的不可控制的特性尽量降低,在正确和性能之间寻找平衡点.

      控制就意味性能的降低,但是我们需要控制来保证安全性.

  总的来说,现在就是我们寻找线程的平衡点的一个时机.


二 .我们的期望

  对于线程来说.我们希望获取的是性能高效且结果正确的线程运行.

   但是这个是不可能的.我们总需要牺牲一些来完成.但是这并不是说我们无能为力,我们可以做出一下的几点改进.

    [1]减小锁的粒度,于是JUC中出现了高级锁.

    [2]无锁化,使用CAS来完成.

    [3]并发方案的整体改进,线程辅助类的提出.

    [4]减少线程创建的代价,线程池框架的出现.

    [5]安全集合减少同步代价

    等等,不一而足,上面的这些东西都在JUC之中出现了.另外还有Callable,Future异步等概念的出现,Fork/Join并行的概念的出现.

      通过JUC,我们可以简化并发程序编写的难度,但是我们需要知道的是,并发总是需要小心的对待.

原文地址:https://www.cnblogs.com/trekxu/p/9005077.html