2 li_haoren

尚未进行身份认证

暂无相关描述

等级
博文 109
排名 44w+

ptmalloc tcmalloc jemalloc 总结的总结 及覆盖原理

windows下还有detours库可以hook

2019-07-14 23:06:00

epoll源码解析翻译------说使用了mmap的都是骗子

本文地址//https://www.cnblogs.com/l2017/p/10830391.html//https://blog.csdn.net/li_haorenselectpollepoll这三个都是对poll机制的封装。只是select跟poll傻了点epoll里并没有找到mmap相关的代码。并没有用到内核态内存映射到用户态的技术。但这个技术是存在的。dpdk,跟...

2019-06-30 22:07:07

重点思维导图------redis深度历险

重点思维导图------redis深度历险 posted@2019-05-0623:41ff_d阅读(...)评论(...)编辑收藏

2019-05-06 23:41:00

全文思维导图------redis设计与实现

全文思维导图------redis设计与实现 posted@2019-05-0416:18ff_d阅读(...)评论(...)编辑收藏

2019-05-04 16:18:00

有大佬拉我一把麽,现在广州还有c++后台实习招聘麽

有大佬拉我一把麽,现在广州还有c++后台实习招聘麽 有大佬拉我一把麽,现在广州还有c++后台实习招聘麽 posted@2019-05-0109:41ff_d阅读(...)评论(...)编辑收藏 ...

2019-05-01 09:41:00

redis所有数据结构及对象------redis设计与实现

redis所有数据结构及对象------redis设计与实现 建议点开原图看 posted@2019-04-2923:50ff_d阅读(...)评论(...)编辑收藏 ...

2019-04-29 23:50:00

epoll好文章

epoll好文章 https://www.cnblogs.com/apprentice89/p/3234677.htmlhttps://www.jianshu.com/p/aa486512e989https://cloud.tencent.com/developer/article/1005481最后看看epoll独有的两种模...

2019-04-19 22:44:00

互斥锁和条件变量锁注意事项

互斥锁和条件变量锁注意事项 如果互斥锁变量是静态分配的,那么我们可以把它初始化成常值PTHREAD_MUTEX_INITIALIZER例如:staticpthread_mutex_tlock=PTHREAD_MUTEX_INITIALIZER;如果互斥锁是动态分配的(例如mallocnew)或者分配在共享内存区中,那么...

2019-04-19 00:07:00

Posix信号

Posix信号 Posix实时信号的值在SIGRTMIN和SIGRMAX之间(包括两者)。如果需要实时行为,我们必须使用在SIGRTMIN和SIGRMAX之间的实时信号,且在安装信号处理程序时必须给sigaction指定SA_SIGINFO标志。实时行为指  信号是排队的。就是说,如果同一信号产生了三次,它就递交了三次。以先进先出顺...

2019-04-18 22:40:00

Posix消息队列注意事项

Posix消息队列注意事项随内核的持续性读总是返回最高优先级的最早消息。当往一个空队列放置一个消息时,允许产生一个信号或启动一个线程。可认为是一个消息链表队列中每个消息具有  1.一个无符号整数优先级  2.消息的数据部分长度(可以为0)  3.数据本身(如果长度)链表头中为当前队列的两个属性:队列中允许的最大消息数(mq_mqxmsg)以及每个消息的最大大...

2019-04-18 22:31:00

管道

管道 管道1.其本质是一个伪文件(实为内核缓冲区)2.由两个文件描述符引用,一个表示读端,一个表示写端。3.规定数据从管道的写端流入管道,从读端流出。管道的原理:管道实为内核使用环形队列机制,借助内核缓冲区(4k)实现。管道的局限性:数据一旦被读走,便不在管道中存在,不可反复读取。缓冲区是有限由于管道采用半...

2019-04-17 15:14:00

unix网络编程卷2:进程间通信

unix网络编程卷2:进程间通信 管道没有名字,只能有亲缘关系使用。FIFO也叫有名管道,有名所以没有了这个限制。管道提供一个单向数据流,创建函数返回两个文件描述符。一个用来读,一个用来写。宏S_ISFIFO可用于确定一个描述符或文件...

2019-04-16 21:28:00

写得好的文章

写得好的文章 智能指针weak_ptr的核心源码实现https://blog.csdn.net/dong_beijing/article/details/79504591linux【进程学习】笔记——PCB、进程环境、进程原语、虚拟地址……https://blog.csdn.net/jobbofhe/article/details/52...

2019-04-13 13:37:00

sgi stl内存池实现------源码加翻译

sgistl内存池实现------源码加翻译 class__default_alloc_template{ enum{unit=8};//分配单位后面直接用8代替 enum{max_bytes=128};//最大分配字节数后面直接用128代替 enum{list_size=16};//数组...

2019-04-13 13:01:00

剑指offer

剑指offer 1注意空指针,2空类型,没有任何成员变量和成员函数,对改类型求sizeof  结果为1,本来应该是0,但当我们声明该实例的时候,他必须在内存种占有一点空间,否则无法使用该实例。  (1)加上构造函数和析构函数    还是1  (2)弄个虚析构函数    多了指向虚函数表...

2019-04-12 14:48:00

小知识

小知识 pcb就是task_struct由slab算法分配在内核内存1kb在0-1GB的内核空间里,所有进程共享同一个内核空间0-1GB因为进程运行在用户态不会修改内核空间。内核空间环境变量等信息栈堆(多个线程栈会夹在堆中)未初始化变量段,初始化变量段,代码段。ipcs是一个UINX/Linux的命令,...

2019-03-29 20:33:00

c++ volatile

c++volatile 就是每次都要到内存上读取数据,不能直接用寄存器的数据(第一次直接取自内存然后放在寄存器,第二次编译器就会优化成使用寄存器的值)并不解决多线程的事https://liam.page/2018/01/18/volatile-in-C-and-Cpp/被volatile修饰的变量,在对其进行读写操作时,会引发一些...

2019-03-24 15:01:00

乐观锁和悲观锁

乐观锁和悲观锁 https://zhuanlan.zhihu.com/p/40211594悲观锁(用前都上锁)总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里...

2019-03-24 11:11:00

c++ inline使函数实现可以在头文件中,避免多重定义错误

c++inline使函数实现可以在头文件中,避免多重定义错误 作者:JonLee链接:https://www.zhihu.com/question/53082910/answer/133612920来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。inline绝对是C++里最让人混淆的关键词之一了(比...

2019-03-23 21:23:00

无锁队列的实现

无锁队列的实现 无锁队列https://coolshell.cn/articles/8239.html  链表实现cas入队时注意lockfree(锁无关)问题防止死锁Tail出队...

2019-03-23 19:45:00
奖章
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。