本节书摘来异步社区《Java线程与并发编程实践》一书中的第2章,第2.6节,作者: 【美】Jeff Friesen,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.6 小结

线程交互通常是通过共享变量完成的,当线程之间没有交互,开发多线程的应用程序会变得简单许多。一旦发生了交互,竞态条件、数据竞争以及缓存变量等诱发线程不安全(在多线程环境下不正确)的因素就会暴露出来。

你可以使用同步解决之前的线程问题。同步是JVM的一个特性,旨在保证两条或者两条以上并发的线程不会同时进入同一块临界区。临界区就是必须以串行方式访问的一段代码块。

活跃性这个词代表着某件正确的事情最终会发生。活跃性失败发生在应用程序触及一种无法继续执行的状态。在单线程的应用程序中,无限循环就是一个例子。多线程应用程序面临着诸如死锁、活锁和饿死的额外挑战。

同步展示了两种属性:互斥性和可见性。synchronized关键字与两者都有关系。Java同时也提供了一种更弱的、仅仅包含可见性的同步形式,并且只以volatile关键字关联。

当一个属性变量声明成volatile,就不能同时声明成final的。不过,由于Java可以让你安全地访问final的属性而无需同步,这也就不能称之为一个问题了。以后你会经常使用final来确保在不可变(不会发生改变)类的上下文中线程的安全性。

第3章会涉及等待和通知相关的话题。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

《Java线程与并发编程实践》—— 2.6 小结相关推荐

  1. 《jQuery与JavaScript入门经典》——2.6 小结

    本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第2章,第2.6节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...

  2. 《jQuery与JavaScript入门经典》——第 1 章 动态Web编程简介 1.1理解Web服务器浏览器范式...

    本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第1章,第1.1节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...

  3. JavaScript入门经典(第4版)

    循序渐进精细讲解所有JavaScript知识点 指导您构建建出神入化的完美Web应用程序 JavaScript入门经典(第4版) 基本信息 原书名: Beginning JavaScript 原出版社 ...

  4. HTML、XHTML、CSS与JavaScript入门经典pdf

    下载地址:网盘下载 内容介绍: 自从网站诞生以来,用于构建网站的语言就一直在不断地演化.现在一系列最佳实践已经出现,使用HTML或XHTML创建基本的网页,使用CSS控制它们的外观并使它们更加引人注目 ...

  5. 《JavaScript入门经典(第6版)》——2.7 问答

    本节书摘来自异步社区<JavaScript入门经典(第6版)>一书中的第2章,第2.7节,作者: [美] Phil Ballard 译者:李 军陈冀康,更多章节内容可以访问云栖社区&quo ...

  6. 《JavaScript入门经典(第4版)》上第5章一个实例程序的修正,完善

    今日,做<JavaScript入门经典(第4版)>第5章上的一个例题,感觉书上的代码有个小错误. 这是ch5_examp5.html上的一个实例,是计算一个数x保留y小数位后,四舍五入的结 ...

  7. 《JavaScript入门经典》学习笔记1

    2019独角兽企业重金招聘Python工程师标准>>> 2014.04.02 学习内容: 第一章:开启JavaScript开发之门 第二章:固本求源--JavaScript基础 第三 ...

  8. js与php与mysql_PHP、MySQL和JavaScript入门经典(第6版)

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  9. JavaScript入门经典(第5版)pdf

    下载地址:网盘下载 JavaScript是一门脚本语言,它通过提供动态的.个性化的交互式内容,来增强静态Web应用程序的功能.JavaScript使访问站点的 用户能够享受到更美妙的体验,增强了网站对 ...

  10. 《iOS 8应用开发入门经典(第6版)》——第1章,第1.6节小结

    本节书摘来自异步社区<iOS 8应用开发入门经典(第6版)>一书中的第1章,第1.6节小结,作者 [美]John Ray(约翰 雷),更多章节内容可以访问云栖社区"异步社区&qu ...

最新文章

  1. 西门子scl语言和c语言,西门子SCL语言编程学习心得
  2. Educational Codeforces Round 11C. Hard Process two pointer
  3. Python3 条件控制
  4. ajax 同步和异步
  5. php本地怎么接受小程序图片,怎么把本地图片当作小程序背景
  6. 链表之反转部分单向链表
  7. 朴实!简单!依你所好,MySQL排序查询ORDER BY
  8. Pyqt 中__init__(self,parent==None) parent理解
  9. HTML5_增强可访问性和解决IE兼容性问题
  10. Java——抽象类和接口
  11. 【年终总结系列 2017】求职之路
  12. 笔试 | 东方财富 2020 春季校园招聘后端开发在线笔试【Python】【C++】【字符串】【动态规划】
  13. python单曲循环播放MP3
  14. 你说你很爱这首诗,我说我也有首很爱的诗
  15. R语言ECM误差修正模型、均衡修正模型、受限VECM、协整检验、单位根检验即期利率市场数据
  16. Python之路(第二十三篇) 面向对象初级:静态属性、静态方法、类方法
  17. N沟道增强型MOS管双向低频开关电路
  18. java我的世界_我的世界Java版
  19. 微信重定向地址参数被拦截
  20. Python实现 天天向上的力量(嵩天老师)

热门文章

  1. java项目环境搭建
  2. KB奇遇记(9):艰难的上线
  3. 程序执行系统VC++程序出现“试图执行系统不支持的操作”
  4. hdu 1198农田灌溉
  5. DotNetBar 教程
  6. .net 调用css/javascipt出现的问题及解决
  7. 人工智能学习(二)安装tensorflow与pytorch
  8. OpenCV入门: Mat数据类型及其转换,访问
  9. cmd命令不识别exp_sqlplus、exp、imp不是内部或外部命令,也不是可运行的程序
  10. OSG仿真案例(1)