C++
文章平均质量分 70
aaronjzhang_
1. 非常热爱软件开发行业,工作积极主动,责任心强,具有一定的项目管理水平。 <br/>2. 具有较强的沟通能力,技术能力、学习能力、分析解决问题能力、勇于攻克难题。<br/>3. 性格坚毅,能够承受较大的压力。 <br/>4. 熟悉UML,EA设计工具,较强的软件架构设计能力。 <br/>5. 精通C/C++,网络编程,多线程并发,服务端软件开发。 <br/>6. 熟悉stl,boost标准C++库。 <br/>7. 熟悉了解linux环境C++开发。<br/>8. 熟悉了解其他语言,如.net,python。
展开
-
tcmalloc源码阅读(三)---ThreadCache分析之线程局部缓存
线程局部缓存tcmalloc采用线程局部存储技术为每一个线程创建一个ThreadCache,所有这些ThreadCache通过链表串起来。线程局部缓存有两种实现:1. 静态局部缓存,通过__thread关键字定义一个静态变量。2. 动态局部缓存,通过pthread_key_create,pthread_setspecific,pthread_getspecific来实现。静态局原创 2013-04-02 15:02:52 · 3574 阅读 · 0 评论 -
TCMalloc源码阅读(一)
前言最近一直在折腾内存管理,先是自己实现了一个非常简单的内存管理,但是和malloc对比测试之后发现效率相差甚多。偶然在网上发现TCMalloc,下载下来之后与malloc做了简单的对比测试,惊奇的发现tcmalloc的速度果然如它自己所述,比glibc的malloc快了很多倍。遂果断扔掉自己实现的那个简单的内存管理,改用tcmalloc。同时也对tcmalloc的实现感到非常的好奇,因此决定原创 2013-03-21 11:02:01 · 6256 阅读 · 2 评论 -
TCMalloc源码阅读(二)--线程局部缓存ClassSize分析
TCMalloc小对象分配机制首先我们回顾下TCMalloc文档的小对象分配机制。文档中说明TCMalloc给每个线程都保存一个缓存池,缓存池里有各种大小的内存对象。小内存分配过程如下:1. 将要分配的大小映射到对应的对齐对象。2. 在当前线程的局部缓存中查找该对齐对象链表。3. 如果该链表不为空,删除链表第一个节点并返回给调用者。问题1. 小对象是如何划分的?2.原创 2013-03-21 17:21:21 · 3018 阅读 · 0 评论 -
TCMalloc源码阅读(四)--ThreadCache分析之空闲内存链表
前面几篇博文中已经描述了TCMalloc将内存从小到大划分成很多个固定大小的内存块,将每种大小的空闲内存块使用链表管理起来。本文就来分析下ThreadCache中空闲链表的实现。TreadCache::FreeList的代码如下: class FreeList { private: void* list_; // Linked list of nodes原创 2013-04-21 22:34:23 · 3118 阅读 · 0 评论 -
一个C/C++结构体初始化有趣的现象
我们知道C语言当中结构可以使用{}进行初始化,例如有结构体定义如下:typedef struct type_t { int a; int b; int c; int d;}type_t;我们可以使用下面的语句来初始化一个变量:struct type_t o = { 1, 2, 3, 4 }但是如果像下面这样来初始化,结果会是什么呢?type_t o = { 8, o.a, o.b, o.c }原创 2013-07-25 15:32:13 · 1333 阅读 · 0 评论 -
什么是分支预测?
首先让我们来看一下铁路枢纽:翻译 2013-08-22 15:30:13 · 1957 阅读 · 0 评论 -
C++实现的无锁队列
关于无锁队列的实现,网上有很多的文章,其实现原理都来自论文implementing_lock_free.pdf国内关于无锁队列实现介绍的较好的博客:http://coolshell.cn/articles/8239.html关于理论的介绍上述文章已经写的非常好了,因此本文不会复述无锁队列实现原理,只讲解下实现细节以及过程中遇到的问题。本文实现的是一个多生产者多消费者无锁队列,相比于单生原创 2013-12-06 17:42:25 · 5299 阅读 · 4 评论 -
linux环境下给BOOST库编译静态库加上-fPIC选项
在linux环境下,使用静态方式编译boost时,bjam没有添加-fPIC, 解决办法如下: 编辑tools/build/v2/tools/gcc.jam文件,将第391行的if( $link ) = shared 注释掉,如下图:原创 2014-09-28 16:00:54 · 6412 阅读 · 0 评论