海上月
线程不安全版本的单例模式(详解) 线程不安全版本的单例模式(详解)
出发点保证一个类仅有一个实例,并提供一个该实例的全局访问点。 ——《设计模式》GoF 实现单例分为两种实现方法: 懒汉 第一次用到类实例的时候才会去实例化,上述就是懒汉实现。 饿汉 单例类定义的时候就进行了实例化。 懒汉模式的
2023-06-22
跟腾讯架构大师学网络框架与后台架构 跟腾讯架构大师学网络框架与后台架构
网络框架与后台架构单机服务1、单机服务:基本概念 2、单机服务:同步阻塞 3、单机服务:异步非阻塞框架使用非阻塞IO,检测到有事件 性能最高:不会阻塞IO,数据拷贝最少 4、单机服务:典型框架: 5、单机服务:协程框架 6、单机服务:
2023-06-20
string底层实现之SSO string底层实现之SSO
string底层实现之SSOstring的构造函数 参考资料 Simple String Optimization,最小字符串优化,基本原理是:当分配的字节数小于16字节的时候,直接从栈上进行进行内存分配,如果大于16字节,则在堆上进行
2023-06-20
Reactor模式理论支持 Reactor模式理论支持
目录 1. 前言 2、主要思想 3、三种不同的实现 单 Reactor 单线程 单 Reactor 多线程 主从 Reactor 多线程 1. 前言开始的服务端的设计是每一个连接都创建一个thread去处理,但是当请求开始变多了之后,
2023-06-20
I/O多路复用(select/poll/epoll) I/O多路复用(select/poll/epoll)
简单介绍这三种模式是为了在一个线程下面尽可能多的管理很多个socket。这三种模式在不同的需求下,有着各自的优势,select和poll差不多,但并不一定是说epoll是最好的。比如我们就写个简单的几个client连接下的情况,这个时候
2023-06-20
CPP指针的种类以及区别 CPP指针的种类以及区别
CPP指针空指针在C和C++中,用0和NULL都可以表示空指针 空指针误操作的后果:如果对空指针解引用,程序会崩溃,如果对空指针使用 delete 运算符,程序会忽略这个操作,不会出现异常,所以,在内存被释放之后也应该,把指针置为空指针
2023-06-20
2 / 2