08 2021 档案
摘要:https://zhuanlan.zhihu.com/p/378153230
阅读全文
摘要:为什么进程间需要通信 数据传输 资源共享 通知事件 进程控制 进程间通信的原理 每一个进程都有不同的用户地址空间,任何一个进程的全局变量在另外一个进程都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到内核缓冲区,进程2再冲内核缓冲区吧数据读走,内核提供
阅读全文
摘要:数据库的三大范式 第一范式(保证每列的原子特性) 第一范式最基本的原子范式,如果数据库中的素有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式/ 第二范式(保证表中的每列都和主键相关) 第二范式是在第一范式的基础之上,更上一层,第二范式需要确保数据库表种的每一列都和主键相关,而不能之和主键
阅读全文
摘要:调表的核心思想 跳表的核心思想是“剪枝”,具体是如下方式实现 如果是一个简单的链表,那么我们知道在链表中查找一个元素I的话,需要将整个链表遍历一次。 如果是说链表是排序的,并且节点中还存储了“跳跃”的指向后续节点的指针的话,那么在查找一个节点时,仅仅需要遍历N/2个节点即可。 从上图中已经可以看到"
阅读全文
摘要:https://blog.csdn.net/m0_37621078/article/details/89980205
阅读全文
摘要:#include<iostream> #include<mutex> #include<thread> using namespace std; template<class T> class Shared_Ptr{ public: Shared_Ptr(T* ptr = nullptr) :_pP
阅读全文
摘要:清楚认识到读写锁分为共享锁(读锁)和独占锁(写锁),可能通过设置标志位记录读锁调用的次数结合互斥锁实现共享锁。但需要注意的是,以下的实现在多个写锁被阻塞时非常消耗计算机资源。因为线程阻塞在写锁中而没有被投入睡眠,导致轮询策略。避免轮询可通过互斥锁+条件变量实现读写锁,具体实现见上一篇博文。 以下是代
阅读全文
摘要:https://blog.csdn.net/wz1226864411/article/details/77934941?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefa
阅读全文

浙公网安备 33010602011771号