内存映射文件的方法 Windows采用MapViewOfFile系统api,Linux则采用mmap相关函数。之前在做大数据查询计算的时候,经常会出现内存不足的情况,malloc无法分配内存了。那时候就经常在想能不能使用硬盘来充当内存,就像swap交换那样,硬盘是非常大的,如果能使用硬盘来当内存也许 ...
分类:
其他好文 时间:
2020-04-19 11:12:46
阅读次数:
69
STL 是 C++ 标准程序库的核心。STL 内的所有组件都由模板构成,因此元素可以是任意型别。 STL六部分为:容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)。 容器 ...
分类:
其他好文 时间:
2020-03-03 22:21:05
阅读次数:
62
在STL中,Memory Allocator 处于最底层的位置,为一切的 Container 提供存储服务,是一切其他组件的基石。对于一般使用 STL 的用户而言,Allocator 是不可见的,如果需要对 STL 进行扩展,如编写自定义的容器,就需要调用 Allocator 的内存分配函数进行空间 ...
分类:
编程语言 时间:
2020-02-22 09:20:26
阅读次数:
68
allocator类 C++中,内存分配和对象构造紧密纠缠(new),就像对象析构和回收一样(delete)。如果程序员想接管内存分配,即将内存分配和对象构造分开,对于前者,主要是分配和释放未构造的原始内存;对于后者,主要是在原始内存中构造和撤销对象。 分配和释放未构造的原始内存 两种方法: all ...
分类:
编程语言 时间:
2020-02-11 10:07:08
阅读次数:
93
.childOption(ChannelOption.RCVBUF_ALLOCATOR, new AdaptiveRecvByteBufAllocator(64, 1024, 65536)) 注意这行,中间那个数字是关键 有点像: 0 腾讯 centos 7 [root@VM_0_9_centos ...
分类:
Web程序 时间:
2020-02-02 01:04:25
阅读次数:
172
1 // STL(标准模板库),由三大部分组成:容器,算法,迭代器 2 3 4 // STL六大组件:container(容器),algorthm(算法),iterator(迭代器) 5 // function object(仿函数),adaptor(适配器),allocator(空间适配器) 6 ...
分类:
其他好文 时间:
2020-01-27 18:54:01
阅读次数:
71
前言 我们使用加锁机制来保证线程安全,但是如果过度地使用加锁,则可能会导致死锁。下面将介绍关于死锁的相关知识以及我们在编写程序时如何预防死锁。 什么是死锁 学习操作系统时,给出死锁的定义为两个或两个以上的线程在执行过程中,由于竞争资源而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。简化一 ...
分类:
编程语言 时间:
2020-01-23 09:20:00
阅读次数:
68
#include <iostream> using namespace std; constexpr int MEMORYPOOL_ALIGNMENT = 8; //对齐长度 // 内存块 template<typename _T> struct MemoryBlock { int nSize; / ...
分类:
其他好文 时间:
2020-01-12 00:07:45
阅读次数:
99
// 内存分配器 Allocator #include <vector> #include <iostream> using namespace std; template<typename _Ty> struct Allocator_base { using value_type = _Ty; } ...
分类:
其他好文 时间:
2020-01-11 00:11:50
阅读次数:
80
allocator_type get_allocator() const noexcept; 返回和对象相关的分配器的一个拷贝 #include <iostream>#include <string>#include <vector>using namespace std;int main(){ v ...
分类:
其他好文 时间:
2019-12-31 18:52:14
阅读次数:
95