代码整洁之道精华——第十三章 并发编程
来源:互联网 发布:怎么利用淘宝联盟省钱 编辑:程序博客网 时间:2024/06/15 23:38
阅阅读本文有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。你如果想成为更好的程序员,那就请细细品味文章内容,它绝不会让你失望。
代码整洁之道教给大家如何编写整洁的代码,而不仅仅是能运行的代码,这对于编程者而言很重要。我在读这本书的第一遍时没什么感觉,但在读第二遍时觉得它确实挺不错的,如果有机会的话我会读第三遍。下面是我在读书过程中摘录的精华内容,希望大家认真对待。各位看官如果读完本文觉得书中的精华内容挺合自己的胃口,那就可以抽出时间认真地读一下这本书。
1、并发是一种解耦策略,他帮助我们把做什么(目的)和何时做(时机)分解开。在单线程应用中,目的与时机紧密耦合,很多时候只要查看堆栈追踪即可断定应用程序的状态。调试这种系统的程序员可以设定断点或断点序列,通过查看到达哪个断点来了解系统状态。
2、解耦目的与时机能明显地改进应用程序的吞吐量和结构。从结构的角度来看,应用程序看起来更像是许多台协同工作的计算机,而不是一个大循环。系统因此会更易于被理解,给出了许多切分关注面的有力手段。
3、建议将并发相关代码与其他代码分离开来。
4、两个线程修改共享对象的同一字段时,可能互相干扰,导致未预期的行为。所以我们应谨记数据封装,严格限制对可能被共享的数据地访问。
5、线程应尽可能地独立,让每个线程在自己的世界中存在,不与其他线程共享资源,每个线程处理一个客户端请求。从不共享的源头接纳所需的数据,存储为本地变量。这样一来,每个线程都像是世界中的唯一线程,没有同步需要。
6、名词解释
7、学习下述基础算法,理解其解决方案
资源限定:生产者-消费者模型
线程挨饿:读者-作者模型
死锁、活锁:宴席哲学家
8、测试线程代码
- 将伪失败看做可能的线程问题
- 先使非线程代码可工作
- 编写可拔插的线程代码(可在数个配置环境下运行)
- 编写可调整的线程代码(线程数量可调)
- 运行多于处理器数量的线程
- 在不同平台上运行
- 调整代码并强迫错误发生
抛开所有细节不谈,代码整洁之道总体来说可以分为以下7点:
- 运行所有测试
- 减少重复代码
- 提高表达力
- 提早构建简单抽象
- 类和方法都只做好一件事
- 尽量减少类和方法的数量
- 努力,让营地比你来时更干净。努力,让世界比你来时更干净。努力,让代码比你签出时更干净。
- 代码整洁之道精华——第十三章 并发编程
- 代码整洁之道精华——第一章 整洁代码
- 代码整洁之道精华——第三章 函数
- 代码整洁之道精华——第四章 注释
- 代码整洁之道精华——第五章 格式
- 代码整洁之道精华——第八章 边界
- 代码整洁之道精华——第九章 单元测试
- 代码整洁之道精华——第十章 类
- 代码整洁之道精华——第十一章 系统
- 代码整洁之道精华——第十二章 迭进
- 代码整洁之道精华——序言
- 代码整洁之道精华——第二章 有意义的命名
- 代码整洁之道精华——第六章 对象和数据结构
- 代码整洁之道精华——第七章 错误处理
- 代码整洁之道精华——第十四章 逐步改进
- 代码整洁之道精华——第十七章 味道与启发
- 《Clean Code》代码的整洁之道----并发编程
- 《代码整洁之道》笔记——1整洁代码
- 安装tensorflow,pycharm中出现libcudart.so.8.0: can't open shared object file: No such file or directory
- zynq平台移植linaro遇到“Kernel panic
- 同步有限状态机
- Ada and Queue
- Linux chmod命令详解
- 代码整洁之道精华——第十三章 并发编程
- 算法竞赛入门经典 第二版 习题6-1 平衡的括号 Parentheses Balance uva673
- Python与linux常用脚本的比较
- python检测Harris角点
- JSOI2017 垫底记 幸好不是自己省选系列...
- tensorflow mnist代码解析之一
- Python实现简单爬虫
- MySql--触发器
- 2017年网易游戏实习生面经