发布时间:2014-02-13 19:54:43
一,memcheck 功能概述 valgrind包含很多工具,其中memcheck是一个内存错误检测工具。它能检测出C/C++中的常见内存问题: (1)内存访问错误,如内存溢出,访问已释放的内存; (2)使用未初始化道值; .........【阅读全文】
发布时间:2014-02-13 19:53:58
一 原子操作 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或者事件打断,也就所说,它是最小的执行单元,不可能有更小的执行单元,因此这里的原子实际是使用了物理学里面道物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关.........【阅读全文】
发布时间:2014-02-13 19:53:36
自旋锁(spinlock)是一种常用的互斥同步原语,当试图进入临界区的线程使用忙等待的方式检测锁的状态,若锁未被持有则尝试获取。这种忙等待的做法无谓的消耗了处理器资源,故只适合用于临界区非常小的代码片段,如linux下的中断处理函数。 posix 已经实现了自旋锁.........【阅读全文】
发布时间:2014-02-13 19:52:38
读写旋转锁是旋转锁的变种,与一般自旋锁不同的是,自旋锁一次只能一个线程进入临界区,而读写旋转锁,可以同时存在多个读者,最多一个写者。 下面分析下linux源码中读写旋转锁的实现方式: 点击(此处)折叠或打开.........【阅读全文】