先说一下概念

四舍六入五成双

对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是偶数)

- 阅读剩余部分 -

一、什么是线程安全性:某个类的行为与其规范完全一致。这个定义略有偷懒的感觉。无状态对象一定是线程安全的。
二、原子性
1、竞态条件:先检查后执行。
2、示例:延迟初始化中的竞态条件。典型的double check的例子,不用多说。
3、复合操作:先检查后执行和读取-修改-写入这类操作都是复合操作,需是原子的才能保障它是线程安全的。

- 阅读剩余部分 -

一、并发简历,原因有三点:
1、资源利用率。
2、公平性。
3、便利性:多任务用多个程序并发,比一个程序完成多个任务,实现起来容易。略觉牵强。
二、线程的优势
1、发挥多处理器的能力。
2、建模的简单性:同一、3。任务各自独立。
3、异步事件的简化处理。
4、响应更灵敏的用户界面。

- 阅读剩余部分 -

一、C语言运行库:入口函数、初始化、堆管理、基本IO。
1、开始:入口函数;main参数;CRT初始化;结束部分。
2、堆的实现:malloc()、free()。
3、IO与文件操作:fopen()、fread()、fwrite()、fclose()、fseek()。
4、字符串相关操作:itoa、strcmp、strcpy、strlen。
5、格式化字符串:fputc、fputs、vfprintf、printf、fprintf。
二、如何使用Mini CRT:导出Mini CRT的头文件,供开发时include即可。
三、C++运行库实现
1、new 与 delete:操作符函数。
2、C++全局构造与析构:MSVC为.CRT$XCA段和.CRT$XCZ段。GCC为.ctor段。
3、atexit实现。
4、入口函数修改。
5、stream和string。
四、如何使用Mini CRT++:编译、链接。

一、系统调用介绍
1、什么是系统调用:操作系统将可能产生冲突的资源保护起来,比如:文件、网络、IO、各种设备等,只能通过系统调用来操作。
2、Linux系统调用:通过0x80中断指令,用EAX中的值表示具体是哪个系统调用。
3、系统调用的弊端:使用不便;各操作系统不兼容。通过运行时库来解决这个问题。
二、系统调用原理
1、特权级与中断:两种特权级别:用户模式和内核模式,即用户态和内核态。CPU根据中断号去中断向量表中找中断处理程序。
2、基于int的Linux经典系统调用实现:触发中断,切换堆栈,中断处理程序。
3、Linux的新型系统调用机制:sysenter和sysexit。虚拟动态共享库VDSO中有具体实现。

三、Windows API:Windows不公开系统调用,只公开API,通过API来完成系统调用。
1、Windows API概览:大量DLL描述及相关文件、工具提供给开发者,称之为SDK(Software Development Kit)。
2、为什么要使用Windows API:兼容性。
3、API与子系统:为了兼容,出子系统(subsystem)。比如:WoW(Windows On Windows),32位系统运行16位程序,就是WoW机制。64位运行32程序亦然。

昨天跟楼下的大叔搞定了这次的漏水事件,简单总结一下。

第一次漏水事件发生在两年前,持续一年。
当时我发现我家的阳台漏水,只要下的得稍大一些,就会漏,水越大,漏得越厉害。第一反应是楼上有问题。
一般预报有雨的时候,阳台就不敢晾衣服。还怕水会流进卧室,泡了木地板。
找楼上的阿姨沟通了小半年,阿姨说不是她家的问题,最终阿姨告诉我真正的问题,墙外的雨水管出问题了。
我确认一下,也发现是这个问题,找物业反馈,差不多折腾他们半年,才给修好。

第二次漏水事件发生在一年前,又持续一年。
去年,楼下的大叔上来找我,说洗手间漏水,我第一反应是我家的水盆坏了,正在修,怀疑是这个问题。
跟大叔说修好水盆再看看。然后就没音了。
上周大叔又上来找我,说又漏了。我家水盆是好的,就不知道原因了。我停用了一周水盆,陪他做测试,看是不是这个问题。
昨天满一周,大叔上来说,漏得更厉害了。
我们协商好,我先不用水盆和淋浴,再试一周。下午,大叔跑上来找我,说确认是他们家自己水管的问题,跟我家没关系。他家水管锈了,漏水。
一直只看吊顶,大叔拆了吊顶看楼板,才发现楼板是干的,水管生锈了,滴水。
幸好我没上来就重新做防水,否则就白折腾了。
我这次坚持的原则是:先用排除法,确认是我家哪一块的问题,然后再动手。

这两次漏水非常相似,事实证明,主观的第一反应是靠不住的:
第一次,我很自信的去找楼上,说是他们的问题。后来证实是别的原因。
第二次,楼下也很自信是我家的问题,后来也证实是别的原因。

大胆假设,小心求证。