5 事件接口设计 5 事件接口设计1 数据结构1.1 事件实体 event_sstruct event_s { int ev_fd; void (*ev_callback)(int, int, void *ev_arg); void *ev_arg; int ev_events; int ev_status;};说明:每个事件有一个描述符,并且有相应的回...
3 内存池设计 3 内存池设计3.1 设计思想:采用两个链表分别管理大块内存和小块内存当某次申请的内存大小大于内存池最大可能申请的到的内存空间时,直接使用malloc分配。小于最大分配内存空间,则按照首次适应分配,遍历当前所有的链表,如果所有链表都没有空间,则申请新的内存块,添加到链表尾。转载于:https://www.cnblogs.com/eemjwu/p/10609637.html...
2 程序逻辑 目录 2 程序逻辑 1 main 函数 2 具体流程模块函数 2.1 初始化全局结构体 2.2 创建监听套接字 2.3 初始化连接设置 2.4 监听端口属性设置 2.5 阻塞在 epoll_wait() 2....
1 关键数据结构 目录 1 关键数据结构 1. connection.h 1.1 manager_s 1.2 connections_s 2. event.h 2.1 event_s 3. memory_pool.h ...
2018-11-14 2018-11-14进程挂起挂起进程:暂时被淘汰出内存的进程机器的资源是有限的,在资源不足的情况下,操作系统对在内存中的程序进行合理的安排,其中有的进程被暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态即就绪态进程挂起的原因有:终端用户的请求父进程的请求负荷调节的需要操作系统的需要进程太少...
4 连接接口设计 4 连接接口设计1 数据结构1.1 连接实体 connections_sstruct connections_s { event_t *read; event_t *write; ukey_pool_t *m_cpool;};说明:每个连接有一个内存块,并且连接分为读事件、写事件。2 函数2.1 conn_init函数签名:void conn...
redis初识01 一、Redis简介1.1 Redis是什么REmote DIctionary Server(Redis) 是一个key-value存储系统。1.2 Redis优点性能极高 – Redis能支持超过 100K+ 每秒的读写频率。丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型...
2018-11-13 2018/11/13减少访问磁盘次数的措施既然要减少访问,那最理想的情况就是不访问呗,把所有的数据都丢进缓存中,将缓存变得大速度变快避免随意访问磁盘,于是就改良磁盘调度算法以上都是从调用情况的外部入手,指标也得治本,所以还要从自己的内部入手,将自己的目录管理的整齐,尽量不给人家添麻烦I/O设备独享设备:在一个用户作业未完成或退出之前,此设备不能分配...
leetcode 移动零 自己思路:/*第一次出现 0 *//*记录连续的 0 的个数 n *//*第二次出现 0 记录位置*//*将第二个0 之前的元素全部左移 n*//*返回第二步 *//*最后给所有剩下的位置赋值0*/实现中遇到的问题:1, 数组访问越界,&& 运算符顺序,首先不能越界2,记录 0 的个数,仔细斟酌位置网上的思路:这类数组原地删...
2018-11-7 2018/11/7设某类资源有5个,由3个进程共享,每个进程最多可申请()个资源而使系统不会死锁。解如下:因为共有3个进程,5个资源,进程数小于资源数,则不会发生死锁的公式为①最多申请资源数=资源总数/进程数(可以整除的条件下)②最多申请资源数=(资源总数/进程数)+1(不可以整除的条件下)所以本题用②的计算方式,得出结果为5/3+1=2RAID磁盘阵...
redis面试总结 转载自:http://blog.csdn.net/guchuanyun111/article/category/6335900 (1)什么是redis? Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正)(2)Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整...
CMake常见语法 CMake常见语法前言每一个需要进行cmake操作的目录下面,都必须存在文件CMakeLists.txt 。cmake指令不区分大小写。变量使用${}方式取值,但是在 IF 控制语句中是直接使用变量名;指令(参数 1 参数 2…),参数使用括弧括起,参数之间使用空格或分号分开;通过TeamTalk源码学习Cmake语法文件目录:/TeamTalk-master/ser...
头文件,库文件,静态连接,动态链接的区别与联系 头文件与库文件:区别:1 头文件是文本文件,是可供阅读的;库文件是二进制文件,不可直接阅读。2 头文件在编译中使用;库文件在链接中使用。3 头文件中是函数或定义的声明,及少量内联函数的使用,一般不包含非静态函数实现;库文件中包含函数的实现。4 头文件是手动编写的,库文件是编译生成的。二者也有联系:1 虽然没有规定调用库函数必须引用头文件,但一般约定,当调用库函数的时候需要引用接口...
mongoDB在redhat下的安装 mongoDB在redhat下的安装mongoDB下载安装下载地址:http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.10.tgzroot用户依次执行以下操作tar -zxvf mongodb-linux-x86_64-2.6.10.tgzmv mongodb-linux-x86_64-2.6.10 /usr/l...
服务器平台搭建 服务器端平台搭建配置详情操作系统:Red Hat 6.3内存:2G处理器:i5 处理器核心总数:4硬盘:20GRedHat下安装MYSQL将相关的mysql rpm包上传到redhat上,下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads解压安装包得到7个.rpm文件:MySQL-client-5...
new 和 delete 静态成员变量和成员函数 1,malloc free和new delete的区别 malloc 和 free 在对于普通变量是可以混合使用的,但是malloc和free是函数; new 和delete 是操作符,速度更快; Test *tp = (Test*)malloc(sizeof(Test)); //不会调用对象的构造函数 //p(10, 20); tp->...
默认拷贝构造函数和默认构造函数 如果普通构造函数,提供了一个显示的构造, 那么这个无参的默认构造就会被隐藏。 不会把拷贝构造函数隐藏掉;显示的提供一个拷贝构造的函数的时候,默认的拷贝构造函数就会被隐藏;只有提供一个显示的析构函数,才会将默认的析构 2 classTeacher { 3 public: 4 //有参数的构造函数 5 Teacher(int id, char ...
this指针 1,在成员函数后面加const修饰的不是函数,修饰的是隐藏的this指针2,同类之间无私处 异类之间有友元3,最好不要创建临时对象 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <iostream> 3 4 using namespace std; 5 6 cla...
构造函数初始化列表 **类内部的对象初始化顺序,与对象定义顺序一样,与构造函数参数列表顺序无关;析构顺序与构造相反**类中常亮成员变量,不能赋值,只能在初始化列表中初始化**构造函数中不能嵌套构造函数,给未初始化的参数赋值,因为那是产生一个匿名临时对象转载于:https://www.cnblogs.com/eemjwu/p/8618137.html...