摘要: 今天在以前的项目中看到几个从来没有见过的符号,分别是:__VA_ARGS__、__FILE__、__FUNCTION__、__LINE__,后来查询了下,原来是C++的宏,工作一年了,竟然连C++自带的几个宏定义都不认识,惭愧啊! 废话不多说了... 阅读全文
posted @ 2015-10-20 13:10 1点er执着 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 无意间看见一篇关于线程的好文章,收藏了,出处在文章下面。 以前写线程时要么老老实实照着声明写,要么使用C++类的静态成员函数来作为回调函数,经常会因为线程代码而破坏封装.之前虽然知道类成员函数的展开形式,但从没想过利用过它,昨天看深入ATL时无意中学会了这一招:) ... 阅读全文
posted @ 2015-08-25 14:19 1点er执着 阅读(2292) 评论(0) 推荐(0) 编辑
摘要: 信号量对象对线程的同步方式与前面几种方法不同,信号允许多个线程和进程同时使用共享资源,这与操作系统中的PV操作相同。它指出了同时访问共享资源的线程最大数目。它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目。在用CreateSem... 阅读全文
posted @ 2015-08-21 17:46 1点er执着 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 事件对象(Event Object),通过通知操作的方式来保持线程的同步,还可以方便实现对多个线程的优先级比较的操作。 事件包含一个使用计数(与所有内核对象一样),一个BOOL值(用于指明该事件是个自动重置的事件还是一个人工重置的事件),还有一个BOOL值(用... 阅读全文
posted @ 2015-08-21 17:10 1点er执着 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章复习了下临界区(Critical Section),现在来复习下互斥量对象(Mutex Object)。 其实互斥对象和临界区对象差不多,都是为了在多个线程访问公共数据块时,只允许一个线程访问此公共数据块。但是临界区是用户对象,互斥是内核对象;还有,... 阅读全文
posted @ 2015-08-21 16:15 1点er执着 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 现在来具体的说下个人对临界区对象的看法和理解。 上一篇文章说过,线程的同步互斥对象分为两种:用户对象和内核对象。临界区属于用户对象而不是内核对象。 临界区(Critical Section):通过对线程的串行化来访问公共资源或一段代码,速度快、适合控制数据的访问... 阅读全文
posted @ 2015-08-21 15:28 1点er执着 阅读(307) 评论(0) 推荐(0) 编辑
摘要:  在做项目时,难免会碰到多线程问题,在进行多线程编程时,难免会遇到多线程的互斥与同步操作。 线程的同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说或者可以这么理解,进程、线程同步,可理解为进程或线程A和B一块配合,A执行到... 阅读全文
posted @ 2015-08-21 11:10 1点er执着 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 函数名称: gcvt 函数原型: char * gcvt(double value,int ndec,char *buf) 函数功能: 将数值value转换为长度为ndec的字符串,包含小... 阅读全文
posted @ 2015-08-01 17:21 1点er执着 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 前序: Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。 这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 ... 阅读全文
posted @ 2015-07-14 20:21 1点er执着 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.sina.com.cn/s/blog_4b20940201013ryp.html1 reinterpret_cast ‘reinterpret_cast’转换一个指针为其它类型的指针。它也允许从一个指针转换为整数类型。反之亦然。(译注:是... 阅读全文
posted @ 2015-06-23 15:19 1点er执着 阅读(106) 评论(0) 推荐(0) 编辑