摘要:
1、概述 写时复制(Copy-on-write,简称 COW)是一种资源“读写”优化策略,其核心思想是如果有多个调用者同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本给该调用者,而其他调用者所访问的 阅读全文
摘要:
一、mmap 概述 mmap是memory map(内存映射)的缩写,其为一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和程序虚拟地址空间具有一种虚拟对应关系。mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存,普通文件被映射到进程地址空间后, 阅读全文
摘要:
一、线程操作 1、创建线程 /** * 参数 * tidp: 指向线程标识符的指针 * attr: 线程属性 * start_rtn: 回调函数 * arg: 运行回调函数所需参数 * * 返回值 * 创建成功返回 0, 否则返回错误码 */ int pthread_create(pthread_t 阅读全文
摘要:
一、结构体 结构体 功能 特性 struct sockaddr 套接字地址结构 IPv4 / IPv6 struct sockaddr_in IPv4套接字地址结构 IPv4 struct in_addr IPv4地址结构 IPv4 struct sockaddr_in6 IPv6套接字地址结构 I 阅读全文
摘要:
1、 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明: A volatil 阅读全文
摘要:
一、进行I/O流复用需要完成的工作 1、用户态如何将文件句柄传递到内核态; 2、内核态如何判断I/O流可读可写; 3、内核态如何通知监控者有I/O流可读写; 4、监控者如何找到可读写I/O流并传递给用户态应用程序; 5、监控者如何循环地完成监控和传递工作。 1)select的做法 Step 1:se 阅读全文
摘要:
一、读写分离 1、什么是读写分离 读写分离其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。 主库:提供写服务的数据库。 从库:提供读服务的数据库。 主从之间:通过某种机制同步数据,比如MySQL的binlog。 阅读全文
摘要:
一、集群术语: 1、服务(Service):包括服务硬件(例如PC机)和服务软件,二者统称服务实体。 2、节点(Node):运行心跳进程的独立主机。节点是高可用集群的核心组成部分,每个节点上运行操作系统和包含心跳进程的软件服务。 3、资源(Resource):一个节点可以控制的实体,当节点发生故障时 阅读全文
摘要:
1、函数指针 概念 一个程序运行时,所有和运行相关的资源都需要被加载到内存中,如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变 阅读全文
摘要:
一、工厂模式概念及分类 工厂模式概念:用一个简单的类来创建实例的过程便称为工厂,用工厂方式代替外部new操作的一种设计模式称为工厂模式。这是一种创建型模式,它提供了一个创建对象的最佳方式。在工厂模式中,我们创建对象时不会对上层暴露创建逻辑,而是通过使用一个共同结构来指向新创建的对象。 工厂模式分类: 阅读全文