02 2021 档案

摘要:进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存。(资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。 阅读全文
posted @ 2021-02-21 22:33 zeroPatrick 阅读(460) 评论(0) 推荐(0)
摘要:野指针产生的原因: 1.指针定义时未被初始化:指针在被定义的时候,如果程序不对其进行初始化的话,它会随机指向一个区域,因为任意指针变量(出了static修饰的指针)它的默认值都是随机的 2.指针被释放时没有置空:指针指向的内存空间在用free()和delete释放后,如果没有对其进行置空或者其他赋值 阅读全文
posted @ 2021-02-19 14:27 zeroPatrick 阅读(250) 评论(0) 推荐(0)
摘要:转载自:https://zhuanlan.zhihu.com/p/93553600 fork与vfork Linux有两种不同的函数来创建进程:fork函数,vfork函数。两个函数都是从父进程拷贝出一个新进程,但是也有区别。下面是fork和vfork的定义。定义于<kernel/fork.c>中。 阅读全文
posted @ 2021-02-17 23:38 zeroPatrick 阅读(450) 评论(0) 推荐(0)
摘要:原子性 一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程打断。 阅读全文
posted @ 2021-02-14 10:32 zeroPatrick 阅读(71) 评论(0) 推荐(0)
摘要:1.问题描述:# 哲学家进餐问题描述有五个哲学家,他们的生活方式是交替地进行思考和进餐,哲学家们共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个碗和五支筷子,平时哲学家进行思考,饥饿时便试图取其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐,该哲学家进餐完毕后,放下左右两只筷子又继续思考 阅读全文
posted @ 2021-02-09 20:10 zeroPatrick 阅读(246) 评论(0) 推荐(0)
摘要:#include <pthread.h> pthread_cond_t cond; pthread_mutex_t mutex_m; bool flag = false; void fun(){ pthread_mutex_lock(&mutex_m); while(flag == false){ 阅读全文
posted @ 2021-02-08 15:22 zeroPatrick 阅读(76) 评论(0) 推荐(0)
摘要:std::mutex m_a; { std::unique_lock<std::mutex> lk(m_a); a++; } unique_lock<std::mutex> lk(m_a);对象在超出作用域时,会调用析构函数,析构函数会将对象持有的互斥锁解锁,所以即使不主动解锁,超出作用域后 lk( 阅读全文
posted @ 2021-02-08 14:18 zeroPatrick 阅读(792) 评论(0) 推荐(0)
摘要:vector<int>::iterator it; it = a.begin()+4; 阅读全文
posted @ 2021-02-05 21:50 zeroPatrick 阅读(111) 评论(0) 推荐(0)
摘要:sudo apt install redis-server sudo apt install redis-tools redis-cli 打开redis 阅读全文
posted @ 2021-02-04 23:44 zeroPatrick 阅读(45) 评论(0) 推荐(0)
摘要:TCP粘包:应用层的数据被存入TCP的缓冲区,当应用层的数据大小远小于TCP的缓冲区大小时,TCP会将多个应用层的数据包积攒到一次发送。 TCP拆包:应用层的数据包,大于TCP缓冲区大小,被分成两个或者多个TCP报文。 TCP是面向字节流的,所以粘包是正常的,防止粘包可在应用层采取措施。 粘包、拆包 阅读全文
posted @ 2021-02-04 13:26 zeroPatrick 阅读(118) 评论(0) 推荐(0)
摘要:本文转载自:https://blog.csdn.net/sinat_32487221/article/details/55272283 TCP (选项部分长度可变,最长为40字节) 源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以 阅读全文
posted @ 2021-02-03 22:20 zeroPatrick 阅读(591) 评论(0) 推荐(0)
摘要:本文转载自:https://www.cnblogs.com/orangeform/archive/2012/04/02/2365017.html Redis持久化的两种方法:RDB(Redis DataBase) 、 AOF(Append Only File). 一、Redis提供了哪些持久化机制: 阅读全文
posted @ 2021-02-02 15:06 zeroPatrick 阅读(62) 评论(0) 推荐(0)
摘要:本文转载自:https://www.cnblogs.com/gotodsp/p/6366163.html HTTP的长连接和短连接本质上是TCP长连接和短连接。 2. 如何理解HTTP协议是无状态的 HTTP协议是无状态的,指的是协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。也就是说, 阅读全文
posted @ 2021-02-02 13:55 zeroPatrick 阅读(139) 评论(0) 推荐(0)
摘要:TCP和UDP校验和 校验和所校验的内容包括:12字节伪首部、TCP的首部以及全部数据。 伪首部:包含了源地址、目的地址、协议和TCP长度等字段,这能够防止TCP出现路由选择错误的数据段。伪首部并非TCP数据报中实际的有效成分。伪首部是一个虚拟的数据结构,其中的信息是从数据报所在IP分组头的分组头中 阅读全文
posted @ 2021-02-02 11:19 zeroPatrick 阅读(2378) 评论(0) 推荐(1)
摘要:什么是可靠的传输:不丢包、不损坏、不乱序、不重复。 TCP通过校验和、序列号、确认应答、重发控制等机制来实现可靠传输。 超时重传:发送发在规定的时间内没有收到确认,就要重传已发送的报文段。 重传时间:TCP采用自适应算法,动态改变重传时间RTTs(加权平均往返时间) 快重传:发送方收到3个对于报文段 阅读全文
posted @ 2021-02-02 10:16 zeroPatrick 阅读(173) 评论(0) 推荐(0)
摘要:本文转载自:https://github.com/ZXZxin/ZXBlog/blob/master/DB/MySQL/advance/MYSQL%E4%BA%8B%E5%8A%A1%E5%92%8C%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB.md 一、事务 事务是由一 阅读全文
posted @ 2021-02-01 20:06 zeroPatrick 阅读(81) 评论(0) 推荐(0)
摘要:作者:小林coding链接:https://zhuanlan.zhihu.com/p/152119007来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 早期 Intel 的处理器从 80286 开始使用的是段式内存管理。但是很快发现,光有段式内存管理而没有页式内存管理 阅读全文
posted @ 2021-02-01 12:39 zeroPatrick 阅读(86) 评论(0) 推荐(0)