摘要: 转发 深入理解 Linux 的 RCU 机制 - 腾讯云+社区 - 博客园 (cnblogs.com) RCU(Read-Copy Update),是 Linux 中比较重要的一种同步机制。顾名思义就是“读,拷贝更新”,再直白点是“随意读,但更新数据的时候,需要先复制一份副本,在副本上完成修改,再一 阅读全文
posted @ 2021-08-28 12:14 caopf 阅读(92) 评论(4) 推荐(0) 编辑
摘要: 虚函数其实最主要的性能开销在于它阻碍了编译器内联函数和各种函数级别的优化,导致性能开销较大,在普通函数中 log(10)会被优化掉,它就只会被计算一次,而如果使用虚函数,log(10)不会被编译器优化,它就会被计算多次。如果代码中使用了更多的虚函数,编译器能优化的代码就越少,性能就越低。虚函数通常通 阅读全文
posted @ 2021-07-24 17:51 caopf 阅读(198) 评论(2) 推荐(0) 编辑
摘要: 一般来讲 IP地址可以确定到一个网卡 但是一张网卡并不仅仅为一个软件或者一个进程服务,比如一台笔记本电脑一般只有一个网卡,但是我们有许多需要网络通信的软件,这时就需要端口号来区分了 其实到最后ip+端口号主要确定到的是某一个Socket 本质上 是个二级索引 阅读全文
posted @ 2021-07-17 20:25 caopf 阅读(177) 评论(0) 推荐(0) 编辑
摘要: malloc会多16个字节, 这16个字节相当于malloc出来的地址的头 这前8个字节代表的含义都是malloc字节数+16+1 前8个字节表示之前的空间有多少没有被分配的字节大小,后8个字节表示当前malloc已经分配的字节大小 malloc通过是否加1来作为前一个数据块是否已经分配的标志,加1 阅读全文
posted @ 2021-07-06 16:50 caopf 阅读(244) 评论(4) 推荐(0) 编辑
摘要: 1. 高并发、任务执行时间短的业务怎样使用线程池? 2. 并发不高、任务执行时间长的业务怎样使用线程池? 3. 并发高、业务执行时间长的业务怎样使用线程池? 线程池本质上是生产者和消费者模型,包括三要素: 往线程池队列中投递任务的生产者; 任务池队列; 从任务池队列取出任务执行的 worker 线程 阅读全文
posted @ 2021-07-05 16:32 caopf 阅读(59) 评论(0) 推荐(0) 编辑
摘要: decltype关键字decltype可以在编译期推导出一个变量或表达式的结果类型(但不会真正计算表达式的值),并且使用这个结果定义新的变量。 追踪返回类型先看一个错误的案例:代码想推导出返回值(t + u)类型,为什么编译错误?答:因为编译器是从左向右读入符号,此时t/u并没有读入,因此不能推导t 阅读全文
posted @ 2021-07-04 17:15 caopf 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 动态规划:0-1背包 - 爱国呐 - 博客园 (cnblogs.com) 一、问题描述: 有n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和? 二、动态规划的原理及过程: eg:number=4,capacity=8 i 1 2 3 4 w(体积) 2 阅读全文
posted @ 2021-06-25 16:14 caopf 阅读(38) 评论(0) 推荐(0) 编辑
摘要: DP_最长不下降子序列(LIS)_姬小野的博客-CSDN博客_最长不下降子序列 同类的问题还有“最长上升子序列”, “最长下降子序列”, … 他们的不同就在于定义的core规则不同, 有的是>=, 有的是>, 有的是< 由此启发, 我们可以在解决其他的问题, 不一定是比较数的大小的问题里面抽象出这种 阅读全文
posted @ 2021-06-25 16:13 caopf 阅读(26) 评论(0) 推荐(0) 编辑
摘要: topK问题的几种解法及C++实现_学习侠的博客-CSDN博客_c++ topk topK问题是经典的算法问题,其大意是从一个序列中找出最小(大)的k个数,面对这个问题最简单的方法当然是先排序后取前k个数,但这样有些浪费时间,比较经典的方法是借助快排和堆排的思想。注:为了方便讨论,以下均选择找出最小 阅读全文
posted @ 2021-06-18 10:35 caopf 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 转:https://www.cnblogs.com/Dageking/p/3185230.html C++全局变量的声明和定义 (1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件; 阅读全文
posted @ 2021-06-08 15:11 caopf 阅读(88) 评论(1) 推荐(0) 编辑