摘要: 一、介绍 概念:线程局部存储(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) 编辑
摘要: 基础知识 首先我们来看下栈帧的定义: In C and modern CPU design conventions, the stack frame is a chunk of memory, allocated from the stack, at run-time, each time a fu 阅读全文
posted @ 2021-07-23 11:17 Mr-xxx 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 引言 协程 yield 和 resume 的第三种情况,也就是会发生协程切换的第三种情况,即调用 read(), write() 等 I/O 操作而陷入 “阻塞”和最后又恢复执行的过程,需要注意的是, 这里的“阻塞”依然是用户态实现的过程。我们知道,libco 的协程是在底层线程上串行 执行的。如果 阅读全文
posted @ 2021-07-23 10:53 Mr-xxx 阅读(155) 评论(0) 推荐(0) 编辑