博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
020 线程的综合考虑
阅读量:5249 次
发布时间:2019-06-14

本文共 562 字,大约阅读时间需要 1 分钟。

一 . 概述

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

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

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

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


 

二 .我们的期望

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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/trekxu/p/9005077.html

你可能感兴趣的文章
ASP连接11种数据库语法总结
查看>>
[Android实例] 同一Activity的实例被多次重复创建
查看>>
[py][mx]实现按照课程机构排名,按照学习人数排名
查看>>
Python之lambda && reduce
查看>>
MySQL 索引优化原则
查看>>
总结11
查看>>
Redis 数据持久化(一)
查看>>
ajax
查看>>
HashMap的工作原理
查看>>
课时2:用python设计第一个游戏
查看>>
Android 微盘开发步骤--我的微盘之线程里更新UI
查看>>
Java事件驱动编程
查看>>
UML学习笔记之类之间的关系
查看>>
数据结构:栈Stack的实现与代码分析
查看>>
Munin监控的安装与配置
查看>>
HBase设计与开发性能优化(转)
查看>>
Tasks 多核查找最大最小值问题
查看>>
美化checkbox
查看>>
从数据库中获取数据(数据量太大,select *会导致JVM溢出的情况)----工具类
查看>>
VS2013崩溃,无法打开项目的解决方案
查看>>