《Java线程与并发编程实践》—— 2.6 小结
本节书摘来异步社区《Java线程与并发编程实践》一书中的第2章,第2.6节,作者: 【美】Jeff Friesen,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.6 小结
线程交互通常是通过共享变量完成的,当线程之间没有交互,开发多线程的应用程序会变得简单许多。一旦发生了交互,竞态条件、数据竞争以及缓存变量等诱发线程不安全(在多线程环境下不正确)的因素就会暴露出来。
你可以使用同步解决之前的线程问题。同步是JVM的一个特性,旨在保证两条或者两条以上并发的线程不会同时进入同一块临界区。临界区就是必须以串行方式访问的一段代码块。
活跃性这个词代表着某件正确的事情最终会发生。活跃性失败发生在应用程序触及一种无法继续执行的状态。在单线程的应用程序中,无限循环就是一个例子。多线程应用程序面临着诸如死锁、活锁和饿死的额外挑战。
同步展示了两种属性:互斥性和可见性。synchronized关键字与两者都有关系。Java同时也提供了一种更弱的、仅仅包含可见性的同步形式,并且只以volatile关键字关联。
当一个属性变量声明成volatile,就不能同时声明成final的。不过,由于Java可以让你安全地访问final的属性而无需同步,这也就不能称之为一个问题了。以后你会经常使用final来确保在不可变(不会发生改变)类的上下文中线程的安全性。
第3章会涉及等待和通知相关的话题。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
《Java线程与并发编程实践》—— 2.6 小结相关推荐
- 《jQuery与JavaScript入门经典》——2.6 小结
本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第2章,第2.6节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...
- 《jQuery与JavaScript入门经典》——第 1 章 动态Web编程简介 1.1理解Web服务器浏览器范式...
本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第1章,第1.1节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...
- JavaScript入门经典(第4版)
循序渐进精细讲解所有JavaScript知识点 指导您构建建出神入化的完美Web应用程序 JavaScript入门经典(第4版) 基本信息 原书名: Beginning JavaScript 原出版社 ...
- HTML、XHTML、CSS与JavaScript入门经典pdf
下载地址:网盘下载 内容介绍: 自从网站诞生以来,用于构建网站的语言就一直在不断地演化.现在一系列最佳实践已经出现,使用HTML或XHTML创建基本的网页,使用CSS控制它们的外观并使它们更加引人注目 ...
- 《JavaScript入门经典(第6版)》——2.7 问答
本节书摘来自异步社区<JavaScript入门经典(第6版)>一书中的第2章,第2.7节,作者: [美] Phil Ballard 译者:李 军陈冀康,更多章节内容可以访问云栖社区&quo ...
- 《JavaScript入门经典(第4版)》上第5章一个实例程序的修正,完善
今日,做<JavaScript入门经典(第4版)>第5章上的一个例题,感觉书上的代码有个小错误. 这是ch5_examp5.html上的一个实例,是计算一个数x保留y小数位后,四舍五入的结 ...
- 《JavaScript入门经典》学习笔记1
2019独角兽企业重金招聘Python工程师标准>>> 2014.04.02 学习内容: 第一章:开启JavaScript开发之门 第二章:固本求源--JavaScript基础 第三 ...
- js与php与mysql_PHP、MySQL和JavaScript入门经典(第6版)
领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...
- JavaScript入门经典(第5版)pdf
下载地址:网盘下载 JavaScript是一门脚本语言,它通过提供动态的.个性化的交互式内容,来增强静态Web应用程序的功能.JavaScript使访问站点的 用户能够享受到更美妙的体验,增强了网站对 ...
- 《iOS 8应用开发入门经典(第6版)》——第1章,第1.6节小结
本节书摘来自异步社区<iOS 8应用开发入门经典(第6版)>一书中的第1章,第1.6节小结,作者 [美]John Ray(约翰 雷),更多章节内容可以访问云栖社区"异步社区&qu ...
最新文章
- 西门子scl语言和c语言,西门子SCL语言编程学习心得
- Educational Codeforces Round 11C. Hard Process two pointer
- Python3 条件控制
- ajax 同步和异步
- php本地怎么接受小程序图片,怎么把本地图片当作小程序背景
- 链表之反转部分单向链表
- 朴实!简单!依你所好,MySQL排序查询ORDER BY
- Pyqt 中__init__(self,parent==None) parent理解
- HTML5_增强可访问性和解决IE兼容性问题
- Java——抽象类和接口
- 【年终总结系列 2017】求职之路
- 笔试 | 东方财富 2020 春季校园招聘后端开发在线笔试【Python】【C++】【字符串】【动态规划】
- python单曲循环播放MP3
- 你说你很爱这首诗,我说我也有首很爱的诗
- R语言ECM误差修正模型、均衡修正模型、受限VECM、协整检验、单位根检验即期利率市场数据
- Python之路(第二十三篇) 面向对象初级:静态属性、静态方法、类方法
- N沟道增强型MOS管双向低频开关电路
- java我的世界_我的世界Java版
- 微信重定向地址参数被拦截
- Python实现 天天向上的力量(嵩天老师)