分离式线程
摘要:1、技术都是为了解决实际问题的,考虑下面的场景: 主线程创建一个子线程,子线程做一些任务,在主线程上,等待子线程完成任务,然后向下运行。代码如下: #include <stdio.h> #include <pthread.h> #include <unistd.h> void* FuncA(void
阅读全文
posted @
2017-02-11 19:46
Andy Niu
阅读(1338)
推荐(0) 编辑
机制与策略
摘要:1、透过现象看本质,机制与策略到底是什么?为什么要将机制与策略分离?2、反映在系统设计上,机制是目标功能,策略是实现方法,也可以认为是接口与实现。3、反映在管理上,领导负责机制,员工负责策略,也就是说,领导决定做什么,怎么做是员工的事情。4、为什么要将机制与策略分离? 假如不分离,会出现什...
阅读全文
posted @
2015-09-20 20:30
Andy Niu
阅读(2271)
推荐(0) 编辑
理解字符编码
摘要:1、可以这样理解,字符编码就是对于字符集合,每个字符设置一个id,第几个表示某个字符。2、举例来说,有两个编码,编码A只有三个字符 甲a1,编码B只有六个字符 abcd12,他们的编码分别是: 甲[00] a[01] 1[10];a[000] b[001] c[010] d[011] 1[10...
阅读全文
posted @
2015-06-12 22:17
Andy Niu
阅读(252)
推荐(0) 编辑
同步 互斥体和信号量
摘要:1、互斥体和信号量都是为了实现同步,但是二者解决的问题不一样,也就是说应用场景不一样。2、互斥体通过加锁,对于共享的资源,大家排队,依次去访问,一个一个来。也就是说,任何时刻只有一个线程访问,其他的线程等待。3、互斥体加锁存在的问题:无法控制线程的访问顺序。考虑两个线程A,B,访问顺序可能是A-B,...
阅读全文
posted @
2015-05-17 19:45
Andy Niu
阅读(2070)
推荐(1) 编辑
cpu访址能力和内存
摘要:这里有两个概念:cpu访址能力和提供的内存。举例来说,有个灯泡,可以照亮100立方米的空间,只有照亮的空间才可以工作。假如现在的空间只有50立方米,只要增加空间,可工作的空间就增加了。如果当前已经是100立方米的空间,再增加空间也没用,因为灯泡照不到,可工作的空间还是100立方米。1、32位系统,能...
阅读全文
posted @
2015-04-12 20:39
Andy Niu
阅读(278)
推荐(0) 编辑
理解 select poll epoll
摘要:举例说明:老师收学生作业,相当于应用层调用I/O操作。1、老师逐个收学生作业,学生没有做完,只能阻塞等待,收了之后,再去收下一个学生的作业。这显然存在性能问题。2、怎么解决上面的问题?老师找个班长,班长负责收作业,班长的做法是:遍历问学生作业写好了吗,写好的,收起来交给老师。休息一会,再去遍历。。。...
阅读全文
posted @
2015-04-04 11:07
Andy Niu
阅读(396)
推荐(0) 编辑
浮点数精度
摘要:1、为什么叫浮点数? 相对于浮点数,就是固点数,小数点固定在最右边,也就是整数。浮点数的小数点,根据指数的取值,左右移动。2、考虑二进制整数,假设只有2个bit,可以表示00,01,10,11,共四个整数,表示范围是[0,3],可以表示这个范围内的所有整数。3、考虑二进制小数,假设只有2个bit,可...
阅读全文
posted @
2015-04-04 10:34
Andy Niu
阅读(800)
推荐(0) 编辑