蒲公英110

上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页

2016年10月21日

高质量的代码

摘要: double类型的比较不能用== 计算机表示的小数(包括float & double)都有误差,如果两个小数的差的绝对值很小,小雨0.0000001(中间为6个0)就可以认为他们相等 完整的代码:功能测试,边界测试,负面测试 考虑题目是否会出现大数问题,超出int的可以用long long 负面测试 阅读全文

posted @ 2016-10-21 16:42 蒲公英110 阅读(309) 评论(0) 推荐(0) 编辑

怎样的思考态度

摘要: 遇到问题该怎样解决: 1.为什么会出现这种错误? 2.出现这种错误的解决方法? 3.哪种方法最好,为什么? 4.联想自己遇到过的类似问题,比较、思考、总结。 阅读全文

posted @ 2016-10-21 16:29 蒲公英110 阅读(155) 评论(0) 推荐(0) 编辑

exit(0)与exit(1)、return区别

摘要: exit(0):正常运行程序并退出程序; exit(1):非正常运行导致退出程序; return():返回函数,若在主函数中,则会退出函数并返回一值。 详细说: 1. return返回函数值,是关键字; exit 是一个函数。 2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统 阅读全文

posted @ 2016-10-21 16:26 蒲公英110 阅读(978) 评论(0) 推荐(0) 编辑

经典线程同步 事件Event

摘要: 阅读本篇之前推荐阅读以下姊妹篇: 《秒杀多线程第四篇 一个经典的多线程同步问题》 《秒杀多线程第五篇 经典线程同步关键段CS》 上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的“线程所有权”特性所以关键段只能用于线程的互斥而不能用于同步。本篇介绍用事件Event来尝试解决这个线程同步问 阅读全文

posted @ 2016-10-21 11:06 蒲公英110 阅读(148) 评论(0) 推荐(0) 编辑

2016年10月20日

Visual Studio 中的头文件、源文件和资源文件都是什么?有什么区别??

摘要: 头文件:后缀为.h,主要是定义和声明之类的,比如类的定义,常量定义源文件:后缀.cpp,主要是实现之类的,比如类方法的实现资源文件主要是你用到的一些程序代码以外的东西,比如图片之类,或者菜单、工具栏之类的定义之类 阅读全文

posted @ 2016-10-20 23:22 蒲公英110 阅读(2166) 评论(0) 推荐(0) 编辑

临界区、互斥量、事件、信号量四种方式

摘要: 临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进 阅读全文

posted @ 2016-10-20 22:22 蒲公英110 阅读(379) 评论(0) 推荐(0) 编辑

经典线程同步 关键段CS

摘要: 上一篇《秒杀多线程第四篇 一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试解决这个问题。 本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。 关键段CRITICAL_SECTION一共就四个函数,使用很是方便。 阅读全文

posted @ 2016-10-20 22:00 蒲公英110 阅读(161) 评论(0) 推荐(0) 编辑

一个经典的多线程同步问题

摘要: 上一篇《秒杀多线程第三篇原子操作 Interlocked系列函数》中介绍了原子操作在多进程中的作用,现在来个复杂点的。这个问题涉及到线程的同步和互斥,是一道非常有代表性的多线程同步问题,如果能将这个问题搞清楚,那么对多线程同步也就打下了良好的基础。 程序描述: 主线程启动10个子线程并将表示子线程序 阅读全文

posted @ 2016-10-20 20:51 蒲公英110 阅读(277) 评论(0) 推荐(0) 编辑

原子操作 Interlocked系列函数

摘要: 上一篇《多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数 阅读全文

posted @ 2016-10-20 20:01 蒲公英110 阅读(340) 评论(0) 推荐(0) 编辑

C中的volatile用法

摘要: volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatil 阅读全文

posted @ 2016-10-20 18:38 蒲公英110 阅读(136) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页

导航