- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 基于互斥锁和条件变量实现读写锁,写优先
#include #include #include #include class MyRWLock { public: MyRWLock():_stat(0),_have_wlock_wait(false){ pthread_mutex_init(&_mutex,NULL); pthread_cond_init(&_cond,NULL); } ~MyRWL
2013-07-17 22:48:37
927
原创 从汇编角度理解volatile
一般对于volatile的解释是这样的:将变量定义为volatile可以防止编译器对变量进行优化,每次均从内存中访问变量,而不是寄存器。既然让编译器优化可以提高访问速度,那为什么又要不用它以及什么时候不用它?其实主要是配合的问题,一个变量可能在寄存器中,也可能在内存中,如果程序只有一个执行流且没有跳转,那么变量不管放到内存还是寄存器,理论上在编译阶段编译器是能够知道变量的具体位置的,使用时就不会出
2012-06-21 11:16:28
367
原创 优雅处理段错误
摘要:某些进程在结束前必须要处理一些额外的过程才能结束,尤其是数据存储的模块,进程停止前为保证数据的完整性可能要做一些事情,如果发生段错误,这时就需要先截获segv信号,处理完后再让程序出core 一般进程收到段错误信号默认是dump core文件然后退出,但有些进程在退出时需要处理额外的过程才能结束,这时就不能让信号执行默认的动作了,我们就需要截获段错误信号,然后在信号处理函数中 处理额外过
2012-06-21 11:12:30
541
从汇编角度理解volatile
2012-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人