代码改变世界

阅读排行榜

谨慎使用多线程中的fork

2015-02-07 19:23 by origins, 25014 阅读, 收藏,
摘要: 前言在单核时代,大家所编写的程序都是单进程/单线程程序。随着计算机硬件技术的发展,进入了多核时代后,为了降低响应时间,重复充分利用多核cpu的资源,使用多进程编程的手段逐渐被人们接受和掌握。然而因为创建一个进程代价比较大,多线程编程的手段也就逐渐被人们认可和喜爱了。记得在我刚刚学习线程进程的时候就想... 阅读全文

C++中多线程与Singleton的那些事儿

2015-01-31 23:06 by origins, 10944 阅读, 收藏,
摘要: 前言前段时间在网上看到了个的面试题,大概意思是如何在不使用锁和C++11的情况下,用C++实现线程安全的Singleton。看到这个题目后,第一个想法就是用Scott Meyer在《Effective C++》中提到的,在static成员函数中构造local static变量的方法来实现,但是经过一... 阅读全文

浅谈指针的比较

2015-01-24 23:19 by origins, 10837 阅读, 收藏,
摘要: 前言有人说指针是C语言的灵魂,也有人说没学好指针就等于不会C语言。虽然在现代C++中一般都是推荐尽量避免使用原生的raw指针,而是以smart pointer 和reference替代之。但是无论怎样,对于C/C++来说,指针始终是个绕不过去的坎。究其原因,是因为C/C++都是支持面向底层操作的语言... 阅读全文

解析gtest框架运行机制

2014-12-01 21:59 by origins, 9863 阅读, 收藏,
摘要: 前言Google test是一款开源的白盒单元测试框架,据说目前在Google内部已在几千个项目中应用了基于该框架的白盒测试。最近的工作是在搞一个基于gtest框架搭建的自动化白盒测试项目,该项目上线也有一段时间了,目前来说效果还是挺不错的。侯捷先生在《STL源码剖析》中说过一句话:”会用STL,是... 阅读全文

条件变量的陷阱与思考

2015-01-21 22:10 by origins, 4393 阅读, 收藏,
摘要: 前言在多线程编程中,互斥锁与条件变量恐怕是最常用也是最实用的线程同步原语。关于条件变量一共也就pthread_cond_init、pthread_cond_destroy、pthread_cond_wait、pthread_cond_timedwait、pthread_cond_signal、pth... 阅读全文