码迷,mamicode.com
首页 > 编程语言 > 详细

020 线程的综合考虑

时间:2018-05-07 22:55:34      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:future   异步   好的   call   出现   框架   cas   之间   方式   

一 . 概述

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

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

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

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


 

二 .我们的期望

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

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

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

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

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

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

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

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

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

020 线程的综合考虑

标签:future   异步   好的   call   出现   框架   cas   之间   方式   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!