上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页
摘要: 一、为什么使用缓存 如图1,为了快速应对早期的业务快速发展,我们架设一个超级简单的Web服务,只有一台应用服务器和DB,这种架构简单,便于快速开发和部署。但随着应用服务器的QPS不断增长,水涨船高,DB的QPS也逐渐提升,对DB的响应时间也有很高要求,单DB已无法快速满足业务发展。这时候可以考虑对D 阅读全文
posted @ 2021-07-28 21:39 Mr-xxx 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一、Libevent简介 Libevent是开源社区一款高性能的I/O框架库,其具有如下特点: 1、跨平台支持。Libevent支持Linux、UNIX和Windows。 2、统一事件源。libevent对i/o事件、信号和定时事件提供统一的处理。 3、线程安全。libevent使用libevent 阅读全文
posted @ 2021-07-25 23:12 Mr-xxx 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 一、简介 move语义使得你可以用廉价的move赋值替代昂贵的copy赋值,完美转发使得你可以将传来的任意参数转发给其他函数,而右值引用使得move语义和完美转发成为可能。然而,慢慢地你发现这不那么简单,你发现std::move并没有move任何东西,完美转发也并不完美,而T&&也不一定就是右值引用 阅读全文
posted @ 2021-07-25 09:38 Mr-xxx 阅读(665) 评论(0) 推荐(0) 编辑
摘要: 一、TCP三次握手除了建立连接(发送SYN、SEQ、ACK),还会完成什么工作(也就是在报文的传输过程中还会携带什么信息) (1)最大报文段长度(MSS)选项 TCP连接初始化时,通信双方使用该选项来协商最大报文段长度,防止IP分片。每一方都有用于通告它期望接收的MSS选项(MSS选项只能出现在SY 阅读全文
posted @ 2021-07-24 17:09 Mr-xxx 阅读(65) 评论(0) 推荐(0) 编辑
摘要: TCP的选项有哪些内容 TCP头部的最后一个选项字段(options)是可变长的可选信息。这部分最多包含40字节,因为TCP头部最长是60字节(其中还包含前面讨论的20字节的固定部分)。典型的TCP头部选项结构如图所示。 选项的第一个字段kind说明选项的类型,有的TCP选项没有后面两个字段,仅包含 阅读全文
posted @ 2021-07-24 17:05 Mr-xxx 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 一、协程如何被调度? 调度器的实现,有两种方案,一种是生产者消费者模式,另一种多状态运行。 1.1 生产者消费者模式 逻辑代码如下: 1 while (1) { 2 3 //遍历睡眠集合,将满足条件的加入到ready 4 nty_coroutine *expired = NULL; 5 while 阅读全文
posted @ 2021-07-24 16:04 Mr-xxx 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 一、什么是CPU缓存 1.1 CPU缓存的来历 众所周知,CPU是计算机的大脑,它负责执行程序的指令,而内存负责存数据, 包括程序自身的数据。在很多年前,CPU的频率与内存总线的频率在同一层面上。内存的访问速度仅比寄存器慢一些。但是,这一局面在上世纪90年代被打破了。CPU的频率大大提升,但内存总线 阅读全文
posted @ 2021-07-24 11:56 Mr-xxx 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 概念:线程局部存储(Thread Local Storage,TLS)用来将数据与一个正在执行的指定线程关联起来。 进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有线程都生效。这是一个优点也是一个缺点。说它是优点,线程 阅读全文
posted @ 2021-07-23 23:13 Mr-xxx 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1.libco简介 libco是微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上,使得微信后端服务能同时hold大量请求,被誉为微信服务器稳定性的基石。libco在2013年的时候作为腾讯六大开源项目首次开源。libco源码地址 libco首先能解决CPU利用率与 阅读全文
posted @ 2021-07-23 16:56 Mr-xxx 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 引言 生产者消费者模型 1 #include <unistd.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <queue> 5 #include "co_routine.h" 6 using namespace std; 7 str 阅读全文
posted @ 2021-07-23 11:35 Mr-xxx 阅读(164) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页