- 博客(5)
- 资源 (5)
- 收藏
- 关注
转载 google 工具 gflags
简单介绍gflags 是 google 开源的用于处理命令行参数的项目。安装编译项目主页:gflags➜ ~ git clone https://github.com/gflags/gflags.git # 下载源码➜ ~ cd gflags➜ gflags git:(master) ✗ mkdir build && cd build # 建立文件夹...
2018-08-23 12:31:20 261
原创 c++模板中的 typename 和 class
在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢? 相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为:template <class T> 在这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆...
2018-08-16 17:43:54 609
原创 Linux下编程用到的锁
线程之间的锁有:互斥锁、条件锁、自旋锁、读写锁、递归锁。一般而言,锁的功能越强大,性能就会越低。1、互斥锁互斥锁用于控制多个线程对他们之间共享资源互斥访问的一个信号量。也就是说是为了避免多个线程在某一时刻同时操作一个共享资源。例如线程池中的有多个空闲线程和一个任务队列。任何是一个线程都要使用互斥锁互斥访问任务队列,以避免多个线程同时访问任务队列以发生错乱。在某一时刻,只有一个线程可以获...
2018-08-15 16:40:51 371
原创 STL中的sort函数实现原理
STL的sort()算法,数据量大时采用Quick Sort,分段递归排序。一旦分段后的数据量小于某个阈值,为避免Quick Sort的递归调用带来过大的额外开销,就改用Insertion Sort(插入排序)。如果递归层次过深,还会改用Heap Sort。STL中的sort并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动...
2018-08-15 16:31:19 5801
原创 RPC协议
rpc是远程程序调用,调用协议通常包含 1)传输协议 和 2)编码协议 传输协议(用于数据传输):grpc使用HTTP2协议,dubbo使用自定义报文的TCP协议,还有 MQ 编码协议(用于数据序列化):基于文本编码的xml、json,基于二进制编码protobuf等 feature1:通用定义的 http1.1 协议的 tcp 报文中有效编码占比比较少,一个 POST 协议的格式大...
2018-08-14 18:36:47 1017
XV6阅读报告(包含进程线程、内存管理、文件系统和中断与系统调用)
2018-01-22
New Directions in Cryptography(diffie-hellman)
2017-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人