第十章 条件变量
作者:Allen B. Downey
原文:Chapter 10 Condition variables
译者:飞龙
协议:CC BY-NC-SA 4.0
像上一章所展示的那样,许多简单的同步问题都可以用互斥体解决。这一章中我会介绍一个更大的挑战,著名的“生产者-消费者”问题,以及一个用于解决它的新工具,条件变量。
10.1 工作队列
在一些多线...
分类:
其他好文 时间:
2016-07-17 00:04:43
阅读次数:
228
第九章 线程
作者:Allen B. Downey
原文:Chapter 9 Threads
译者:飞龙
协议:CC BY-NC-SA 4.0
当我在2.3节提到线程的时候,我说过线程就是一种进程。现在我会更仔细地解释它。
当你创建进程时,操作系统会创建一块新的地址空间,它包含text段、static段、和堆区。它也会创建新的“执行线程”,这包括程序计数器和其它硬件状态...
分类:
编程语言 时间:
2016-07-16 15:59:05
阅读次数:
245
第八章 多任务
作者:Allen B. Downey
原文:Chapter 8 Multitasking
译者:飞龙
协议:CC BY-NC-SA 4.0
在当前的许多系统上,CPU包含多个核心,也就是说它可以同时运行多个进程。而且,每个核心都具有“多任务”的能力,也就是说它可以从一个进程快速切换到另一个进程,创造出同时运行许多进程的幻象。
操作系统中,实现多任务的这部...
分类:
其他好文 时间:
2016-07-16 11:45:09
阅读次数:
367
第七章 缓存
作者:Allen B. Downey
原文:Chapter 7 Caching
译者:飞龙
协议:CC BY-NC-SA 4.0
7.1 程序如何运行
为了理解缓存,你需要理解计算机如何运行程序。你应该学习计算机体系结构来深入理解这个话题。这一章中我的目标是给出一个程序执行的简单模型。
当程序启动时,代码(或者程序文本)通常位于硬盘上。操作系统创建新...
分类:
其他好文 时间:
2016-07-15 21:12:58
阅读次数:
180
第六章 内存管理
作者:Allen B. Downey
原文:Chapter 6 Memory management
译者:飞龙
协议:CC BY-NC-SA 4.0
C提供了4种用于动态内存分配的函数:
malloc,它接受表示字节单位的大小的整数,返回指向新分配的、(至少)为指定大小的内存块的指针。如果不能满足要求,它会返回特殊的值为NULL的指针。
ca...
分类:
其他好文 时间:
2016-07-15 11:07:39
阅读次数:
283
2012以上版本的Matlab都内含nc阅读组件 命令非常简单。 例如 nc的文件名是filename,其中有多个变量,其中data_001是你想要的数据标签。 第一步,查看nc内的所有信息 ncdisp('filename','/', 'full'); 第二步,调出来你想要的变量或者数据, ncr ...
分类:
其他好文 时间:
2016-07-14 19:12:21
阅读次数:
180
第三章 虚拟内存
作者:Allen B. Downey
原文:Chapter 3 Virtual memory
译者:飞龙
协议:CC BY-NC-SA 4.0
3.1 简明信息理论
比特是二进制的数字,也是信息的单位。一个比特有两种可能的情况,写为0或者1。如果是两个比特,那就有四种可能的组合,00、01、10和11。通常,如果你有b个比特,你就可以表示2
**...
分类:
其他好文 时间:
2016-07-13 23:22:31
阅读次数:
195
作者: 陈斌(redguardtoo)
版本号: 20160125
更新时间:
原创时间:
版权: 本文采用以下协议进行授权,自由转载 - 非商用 - 非衍生 - 保持署名 | Creative Commons BY-NC-ND 3.0,转载请注明作者及出处.
简介
成为高手很容易.当初我在Vi阵营,偶尔用Emacs还忘记"退出"的快捷键,一年后我跨入高手行列.
很多...
分类:
系统相关 时间:
2016-07-13 17:16:32
阅读次数:
417
第一章 编译
作者:Allen B. Downey
原文:Chapter 1 Compilation
译者:飞龙
协议:CC BY-NC-SA 4.0
1.1 编译语言和解释语言
人们通常把编程语言描述为编译语言或者解释语言。前者的意思是程序被翻译成机器语言,之后由硬件执行;而后者的意思是程序被软件解释器读取并执行。例如,C被认为是编译语言,而Python被认为是解释语...
分类:
其他好文 时间:
2016-07-13 16:09:07
阅读次数:
209
nc -z -w2 ip port 比如: nc -z -w2 www.baidu.com 1-1024 其中 -w2 表示 2s超时 port 这里可以只写一个端口,也可以写一个范围。 使用nc扫描端口时,必须要加 -z 否则不显示结果。另外,如果想把不开放的端口也显示出来,可以加一个 -v nc ...
分类:
其他好文 时间:
2016-07-13 08:03:08
阅读次数:
295