摘要://定位new placement new //功能:在已分配好的原始内存中初始化一个对象 //所做的事情: //(1)内存已经分配,定位new并不分配内存,需要提前将这个定位new要是用的内存分配出来 //(2)初始化一个对象(的内存),也可以说是调用这个对象的构造函数 //格式: //new ( 阅读全文
posted @ 2020-07-02 23:04 min_zhi 阅读(5) 评论(0) 推荐(0) 编辑
摘要:代码示例 MyAlloc 是一个采用嵌入式指针做的内存池分配内存的类,采用这种技术的类,其sizeof()的值不少于4。 class MyAlloc { public: void* allocate(size_t size); // size分配的内存大小 void deallocate(void* 阅读全文
posted @ 2020-07-02 22:27 min_zhi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:一、基本原理和概念一般应用在内存池相关的代码中,成功使用嵌入式指针的前提条件,类A的大小必须不小于4字节工作原理:借用类A对象所占用内存空间的前4个字节,用这4个字节来链接这些空闲的内存块一旦某一块被分配出去,那么这个快的前4个字节就不再需要,此时这4个字节可以被正常使用 二、代码实现 class 阅读全文
posted @ 2020-07-02 07:51 min_zhi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:一、内存池的概念和实现原理 内存池要解决的问题: (1)减少malloc的次数,意味着减少对内存的浪费(主要问题) (2)减少malloc的次数,会有一些速度和效率上的提升,但是提升不明显(顺带) 实现原理: (1)用malloc申请一大块内存,当要分配的时候,从这一大块内存中一点一点分配, 当这一 阅读全文
posted @ 2020-07-01 23:08 min_zhi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一、new/delete 的过程 A* pa = new A(); operator new(); // 其中调用malloc来分配内存 A::A(); delete pa; A::~A(); operator delete(); // 其中调用free释放内存 new/delete(malloc/ 阅读全文
posted @ 2020-07-01 21:13 min_zhi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:1、日志回放 http://pm.glodon.com/wiki/pages/viewpage.action?pageId=75893057 阅读全文
posted @ 2020-06-29 11:14 min_zhi 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一、场景及线程池概念 1、大型服务器,不能每来一个客户端就创建一个线程(否则数量过多) 2、编写代码时,偶尔创建一个线程,这种写法不稳定,系统资源少的情况下,容易出现问题 线程池:把一堆线程放到一起,统一管理,这种统一管理调度,循环利用线程的方式,就叫线程池 二、实现方式 在程序启动的时候,一次性创 阅读全文
posted @ 2020-06-27 22:12 min_zhi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一、recursive_mutex class MyClass { public: void Fun1() { // std::lock_guard<mutex> sguard(m_mutex); // 加锁处理共享内存 std::lock_guard<recursive_mutex> sguard 阅读全文
posted @ 2020-06-27 19:41 min_zhi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:一、windows临界区使用示例 windows临界区的作用与互斥量类似 区别: (1)windows临界区需要初始化 InitializeCriticalSection(&m_winSec); (2)进入临界区相当于lock() EnterCriticalSection(&m_winSec); ( 阅读全文
posted @ 2020-06-27 19:21 min_zhi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:一、第一个参数 // std::async 第一个参数介绍: // (1)std::launch::deferred: 表示延迟调用,并且不创建线程 // 直到future 对象的get() 函数或wait() 调用,才会执行 MyThread 入口函数,如果没有调用,则MyThread 不会被调用 阅读全文
posted @ 2020-06-27 17:10 min_zhi 阅读(11) 评论(0) 推荐(0) 编辑