《代码整洁之道》—第13章13.11节文献

13.11 文献
[Lea99]:Concurrent Programming in Java: Design Principles and Patterns, 2d. ed., Doug Lea, Prentice Hall, 1999.

[PPP]:Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin, Prentice Hall, 2002.

[PRAG]:The Pragmatic Programmer, Andrew Hunt, Dave Thomas, Addison-Wesley, 2000.

[1] 原注:来自私人邮件。

[2] 原注:宇宙射线、狼来了等。(译者按:作者在这里开了个小玩笑。程序员常把不能复现的程序错误的原因归结为宇宙射线等偶发性和无法修正的问题。)

[3] 原注:见后文“深入挖掘”一节。

[4] 原注:见后文“路径数量”一节。

[5] 原注:[PPP]。

[6] 原注:参见后文“客户端/服务器的例子”一节。

[7] 原注:[PRAG]。

[8] 原注:[Lea99]。

[9] 原注:http://en.wikipedia.org/wiki/Producer-consumer。

[10] 原注:http://en.wikipedia.org/wiki/Readers-writers_problem。

[11] 原注:http://en.wikipedia.org/wiki/Dining_philosophers_problem。

[12] 原注:参见后文“方法之间的依赖可能破坏同步代码”一节。

[13] 原注:临界区是为了确保程序正确而要阻止同时使用的代码区域。

[14] 原注:见后文“增加吞吐量”一节。

[15] 原注:参见附录A“死锁”一节。

[16] 原注:你是否知道,Java的线程模型并不保证线程抢先?现代操作系统支持抢先线程,所以你可以“免费”获得这一特性。即便如此,JVM也没有做出保证。

[17] 原注:严格说来并非如此。JVM不保证抢先线程,故在不抢占线程的系统上,某个特殊的算法可能一直能工作。反之亦然,但会有其他的原因影响。

[18] 原注:http://www.alphaworks.ibm.com/tech/contest。

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

时间: 2024-10-01 11:36:35

《代码整洁之道》—第13章13.11节文献的相关文章

《代码整洁之道》—第13章13.1节为什么要并发

第13章 并发编程代码整洁之道Brett L.Schuchert "对象是过程的抽象.线程是调度的抽象."--James O Coplien[1] 编写整洁的并发程序很难--非常难.编写在单线程中执行的代码简单得多.编写表面上看来不错.深入进去却支离破碎的多线程代码也简单.系统一旦遭受压力,这种代码就扛不住了. 本章将讨论并发编程的需求及其困难之处,并给出一些对付这些难点.编写整洁的并发代码的建议.最后,我们将讨论与测试并发代码有关的问题. 整洁的并发编程是个复杂话题,值得用一整本书来

《代码整洁之道》—第1章1.1节要有代码

第1章 整洁代码代码整洁之道 阅读本书有两种原因:第一,你是个程序员:第二,你想成为更好的程序员.很好.我们需要更好的程序员. 这是本有关编写好程序的书.它充斥着代码.我们要从各个方向来考察这些代码.从顶向下,从底往上,从里而外.读完后,就能知道许多关于代码的事了.而且,我们还能说出好代码和糟糕的代码之间的差异.我们将了解到如何写出好代码.我们也会知道,如何将糟糕的代码改成好代码. 1.1 要有代码有人也许会以为,关于代码的书有点儿落后于时代--代码不再是问题:我们应当关注模型和需求.确实,有人

《代码整洁之道:程序员的职业素养》一一第1章 专业主义

第1章 专业主义 代码整洁之道:程序员的职业素养 "噢,笑吧,科廷,老伙计.这是上帝,或者也可以说是命运或自然,跟我们开的一个玩笑.不过,不管这家伙是谁或是什么,他真幽默!哈哈!" --霍华德,<碧血金沙>这么说,你确实是想成为专业的软件工程师,对吧?你希望能昂首挺胸向世界宣告"我是专业人士",希望人们满怀尊重地看着你,充满敬意地对待你.希望母亲们会指着你告诉自己的孩子要成为像你这样的人.这些都是你想要的,对吧?

《代码整洁之道》目录—导读

版权声明 代码整洁之道 Authorized translation from the English language edition, entitled Clean Code: A Handbook of Agile Software Craftsmanship, 9780132350884 by Robert C. Martin, published by Pearson Education, Inc, publishing as Prentice Hall, Copyright 2009

《代码整洁之道:程序员的职业素养》一一

前言 代码整洁之道:程序员的职业素养 1986年1月28日,美国东部时间上午11:39,"挑战者"号航天飞机在发射仅73.124秒后,因右侧固体火箭推进器的故障,在1.5万米的高空化成碎片.7名航天勇士魂断苍穹,其中包括高中教师克丽斯塔·麦考利芙.麦考利芙的母亲亲眼目睹女儿在1.5万米高空中不幸罹难,当时她脸上的表情,至今印刻在我的心头无法拂去. 挑战者号之所以解体,是由于高热气体从出现故障的固体火箭推进器的外壳接缝处泄露出来,喷到外部燃料舱体上.主液氢燃料舱底部发生爆炸,液氢被点燃,

《代码整洁之道:程序员的职业素养》导读

前言 代码整洁之道:程序员的职业素养 1986年1月28日,美国东部时间上午11:39,"挑战者"号航天飞机在发射仅73.124秒后,因右侧固体火箭推进器的故障,在1.5万米的高空化成碎片.7名航天勇士魂断苍穹,其中包括高中教师克丽斯塔·麦考利芙.麦考利芙的母亲亲眼目睹女儿在1.5万米高空中不幸罹难,当时她脸上的表情,至今印刻在我的心头无法拂去. 挑战者号之所以解体,是由于高热气体从出现故障的固体火箭推进器的外壳接缝处泄露出来,喷到外部燃料舱体上.主液氢燃料舱底部发生爆炸,液氢被点燃,

代码整洁之道

现在的软件系统开发难度主要在于其复杂度和规模,客户需求也不再像Winston Royce瀑布模型期望那样在系统编码前完成所有的设计满足用户软件需求.在这个信息爆炸技术日新月异的时代,需求总是在不停的变化,随之在2001年业界17位大牛聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场,提出了"Agile"(敏捷)软件开发价值观,并在他们的努力推动下,开始在业界流行起来.在<代码整洁之道>(Clean Code),提出一种软件质量,可持续开发不仅在于项目架构设计,还与代码

读代码整洁之道

      现在的软件系统开发难度主要在于其复杂度和规模,客户需求也不再像Winston Royce瀑布模型期望那样在系统编码前完成所有的设计满足用户软件需求.在这个信息爆炸技术日新月异的时代,需求总是在不停的变化,随之在2001年业界17位大牛聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场,提出了"Agile"(敏捷)软件开发价值观,并在他们的努力推动下,开始在业界流行起来.在<代码整洁之道>(Clean Code),提出一种软件质量,可持续开发不仅在于项目架构设

《代码整洁之道》—第13章13.9节测试线程代码

13.9 测试线程代码 证明代码的正确性不切实际.测试并不能确保正确性.然而,好的测试却能尽量降低风险.这对于所有单线程解决方案都是对的.当有两个或多个线程使用同一代码段和共享数据,事情就变得非常复杂了. 建议:编写有潜力曝露问题的测试,在不同的编程配置.系统配置和负载条件下频繁运行.如果测试失败,跟踪错误.别因为后来测试通过了后来的运行就忽略失败. 有一大堆问题要考虑.下面是一些精练的建议: 将伪失败看作可能的线程问题: 先使非线程代码可工作: 编写可插拔的线程代码: 编写可调整的线程代码: