- 博客(5)
- 收藏
- 关注
原创 MemoryPool内存池(二)
前面对内存池已经有了一个大致的复习,现在实现一个简单的固定内存池一、MemoryPool.h#ifndef __SOFT_COLLECTION_H__#define __SOFT_COLLECTION_H__#include <iostream>#include <string>#include <errno.h>#include <unistd.h>#include <stdint.h>#include <memory.
2021-03-01 11:32:59
248
原创 OSI七层模型和TCP/IP五层模型
一、OSI七层模型和TPC/IP五层模型 OSI七层模型(由上到下):应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 TCP/IP五层模型(由上到下):应用层、传输层、网络层、数据链路层、物理层。 二、各层功能定义 (1)应用层:为计算机用户提供应用接口,也为用户直接提供各种网络服务; (2)表示层:表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别; (3)会话层:负责建立、管理和终止表示层实体之间的通信会话;
2021-02-26 17:46:19
319
原创 多线程
一、前言1、PCB pcb在Linux下是一个进程,线程由进程pcb模拟实现,因此Linux下pcb即为线程,也称为轻量级进程。 2、多进程与多线程的基本概念 多进程任务是指多个进程同时执行任务,分别执行不同的代码,进程之间毫无关联,也就是说多个pcb拥有多个虚拟地址空间。 多线程任务是指多个线程同时执行一个任务,多个pcb只拥有一个虚拟地址空间,多个线程同时执行此虚拟地址空间所对应的不同的物理内存中的代码。 3、进程与线程的关系 一个进程可能拥有多个线程,且拥有一个主线程,并
2021-02-03 17:53:36
158
原创 MemoryPool内存池(一)
最近做了一个小项目,做完后感觉可以用内存池进行优化,此篇是记录内存池基础知识学习的笔记(只是笔记,不是原创内容噢)一、前言1、采用new/delete或者malloc/free,在堆上频繁地分配和释放,会有性能上的损失;2、采用new/delete或者malloc/free,系统中会出现大量的内存碎片,降低了内存使用率。二、内存池这里只描述固定内存池1、固定内存池 = n个固定大小的内存块2、内存块 = 1个内存池块头 + n个固定大小的内存单元(数量由内存块大小决定)3、内存池块头:描述
2021-01-22 16:33:09
657
原创 malloc/free以及new/delete的简单用法
malloc/free以及new/delete的简单用法一、如何将一个结构体数据存放在void* data指针变量中给data指针开辟足够大的空间,然后将填充数据后的memory结构体拷贝进去(1)采用malloc/free#include <iostream>#include <unistd.h>#include <string.h>using std::cout;using std::endl;using std::string;struct
2021-01-22 14:59:34
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人