E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Libco
Tecent
libco
C++协程库初探
安装https://github.com/Tencent/
libco
上把release版本的下下来:mkdirbuild&&cdbuild&&cmake..
Y. F. Zhang
·
2024-02-08 09:55
C++
多线程编程
Linux
c++
开发语言
算法
[
libco
]
libco
mysql 连接池
基于
libco
的mysql连接池,支持基本的mysql读写访问,支持多个连接,多个节点,支持空闲连接回收。
wenfh2020
·
2023-10-10 05:54
[
libco
] co_kimserver 简介
co_kimserver是基于
libco
的高性能TCP网络通信框架。详细请查看:github。
wenfh2020
·
2023-09-02 07:19
协程分析之context上下文切换
最近为了要给tbox增加协程,特地研究了下各大开源协程库的实现,例如:libtask,libmill,boost,
libco
,libgo等等。
waruqi
·
2023-08-27 07:12
tbox
boost
协程
跨平台
网络
异步开发
[
libco
] 删除协程的正确姿势
如果你认为只需要简单调用co_release就能将
libco
的协程删除,那等待你的可能就是定时炸弹。文章来源:*[
libco
]删除协程的正确姿势1.正确姿势如何才能安全删除一个协程?
wenfh2020
·
2023-08-15 05:31
libco
使用
libco
示例#include#include#include#include#include#include#include"coctx.h"#include"co_routine.h"#include"co_routine_inner.h"void
Tomtoms
·
2023-04-21 19:10
[
libco
] 删除协程的正确姿势
如果你认为只需要简单调用co_release就能将
libco
的协程删除,那等待你的可能就是定时炸弹。文章来源:*[
libco
]删除协程的正确姿势1.正确姿势如何才能安全删除一个协程?
wenfh2020
·
2023-04-05 17:32
libco
协程
libco
协程
删除
libco
—— 协程调度(
libco
终章)
文章目录协程的阻塞和线程的阻塞主协程和协程调度的关系再看协程的挂起和恢复执行参考文献呼,整个
libco
库终于快是要剖析完了。整个人算是对协程以及操作系统的调度有了新的认识。
shenmingik
·
2023-04-05 16:14
#
协程libco
协程
libco
新星计划
libco
协程库详解
协程实现逻辑协程例子C/C++协程
libco
协程的创建和切换协程的创建和运行协程上下文的创建和切换如何使用
libco
通过Epoll管理和唤醒协程EPOLL事件循环协程是什么?轻量级的调度运行单位。
蓝子娃娃
·
2023-04-05 16:29
C/C++
协程
基于
libco
的c++协程实现1(前备知识)
为什么会有协程普通的应用程序编写,在c++最多的实现方式是多线程来实现异步操作多线程存在的问题1、多线程切换带来的线程用户台到内核态的开销增大2、多线程要解决资源竞争问题。3、异步编程业务逻辑不在一起,对代码的理解及阅读不友好。而有没有一种方式,能够实现用同步的方式,实现异步的性能,go语言中有原生的协程。所以go语言编写网络程序有天生的优势,c++20提出语言上支持协程,但是目前大多数人使用的可
HjasnJH
·
2023-04-05 16:42
协程
服务器
后端
基于
libco
的c++协程实现5(时间轮定时器)
在后端的开发中,定时器有很广泛的应用。比如:⼼跳检测倒计时游戏开发的技能冷却redis的键值的有效期等等,都会使用到定时器。定时器的实现数据结构选择红⿊树对于增删查,时间复杂度为O(logn),对于红⿊树最⼩节点为最左侧节点,时间复杂度O(logn)最⼩堆对于增查,时间复杂度为O(logn),对于删时间复杂度为O(n),但是可以通过辅助数据结构(map或者hashtable来快速索引节点)来加快删
HjasnJH
·
2023-04-05 16:42
协程
数据结构
libco
源码剖析(3)-定时器与事件注册
libco
源码剖析(3)-定时器与事件注册引言
libco
源码剖析(1)-共享栈与协程的创建
libco
源码剖析(2)-协程生命周期与协程调度本文会继续介绍
libco
定时器的实现和协程事件的注册。
怀民_亦未寝
·
2023-04-05 16:39
c++
后端
linux
服务器
微信
libco
协程库原理剖析
作者:alexzmzheng同Go语言一样,
libco
也是提供了同步风格编程模式,同时还能保证系统的高并发能力,本文主要剖析
libco
中的协程原理。
腾讯技术工程
·
2023-04-05 16:03
操作系统
java
linux
epoll
编程语言
基于
libco
的c++协程实现(时间轮定时器)
在后端的开发中,定时器有很广泛的应用。比如:心跳检测倒计时游戏开发的技能冷却redis的键值的有效期等等,都会使用到定时器。定时器的实现数据结构选择红黑树对于增删查,时间复杂度为O(logn),对于红黑树最⼩节点为最左侧节点,时间复杂度O(logn)最小堆对于增查,时间复杂度为O(logn),对于删时间复杂度为O(n),但是可以通过辅助数据结构(map或者hashtable来快速索引节点)来加快删
linux大本营
·
2023-04-05 16:46
c++
后端开发
linux
定时器
时间轮
Pebble协程库实现
Phxrpc协程有一部分相似点,即都使用了ucontext_t,也有协程管理器,调度器,定时器等设计思想,和Phxrpc不同的是定时器实现并非小根堆,是用了STL中的unordered_map组件;另外和
Libco
fooboo
·
2023-04-03 07:26
C++ 20 协程总结
当前很多的编程语言都内置协程特性或者有自己的协程库,如C/C++的
libco
学习好烦啊
·
2023-03-31 06:45
C++20
协程
C++
c++20
c++
java
gdb list指向的源文件错误
在ubuntu下调试
libco
调试example_thread时遇到这样的问题gdblist显示的不是对应的源文件example_thread.cpp而是指向了另一个
libco
的源文件coctx_swap.S
cx7
·
2023-03-23 16:13
[
libco
] 协程调度
libco
通过co_resume和co_yield交替调度协程。
wenfh2020
·
2023-03-09 11:52
linux c++11高性能协程库netco
目录一、开源协程库调研1、golang语言自带协程2、云风的coroutine协程库3、腾讯的
libco
协程库4、魅族的libgo协程库二、netco协程库概述三、netco的实现1、框架2、Context3
我不是小康
·
2023-01-15 09:52
我的服务器开发之路
协程库
网络编程
linux
C++
libgo 源码剖析(1. libgo简介与调度浅谈)
最早接触的C++协程库是腾讯微信的
libco
,可以说是相当轻量级的协程,网上关于
libco
的实现的文章也是相对较多,这里的
尚先生的博客
·
2023-01-15 09:21
libgo
linux
C/C++ 协程库boost.coroutine2、魅族libgo、腾讯
libco
、开源libaco详解
最近研究高性能C++协程,网上了解到了魅族libgo、腾讯
libco
、开源libaco、boostcoroutine,这里记录一下。
Hello,C++!
·
2023-01-15 09:20
C++
libco
协程
什么是协程?协程:协同运行的子程序(函数);协程:协同运行的进程(shell中的概念)协程是能暂停执行以在之后恢复的函数。协程是无栈的:它们通过返回到调用方暂停执行,并且从栈分离存储恢复所要求的数据。这允许编写异步执行的顺序代码(例如不使用显式的回调来处理非阻塞I/O),还支持对惰性计算的无限序列上的算法及其他用途。协程可以被视为提供特殊控制流的语言级构造。与抢占式线程相比,协程开关是协作的(程序
adce9
·
2023-01-15 09:18
Libco
libco
协程
c++开源协程库libgo介绍及使用
当然C++也有高性能的协程库,比如我了解到的微信的
libco
、魅族的libgo、以及libcopp,开源libaco、boost的coroutine,cppcoro,阿里的雅兰亭库(基于c++20特性封装好用的库
特立独行的猫a
·
2023-01-15 09:17
C++
c++
开发语言
雅兰亭库
协程
libgo
Docker学习文档
最初实现是基于LXC,从0.7版本以后开始去除LXC,转而使用自行开发的
libco
Man–Zha
·
2022-06-15 12:43
笔记
docker
ios
linux
Libco
Hook 机制浅析
LibcoHook机制浅析之前的文章里我们提到过
Libco
有一套Hook机制,可以通过协程的让出(yield)原语将系统的阻塞系统调用改造为非阻塞的,这篇文章我们将深入解析Hook机制到底是怎么运作的Hook
路过的摸鱼侠
·
2022-04-29 22:00
[
libco
] 协程栈空间
文章来源:[
libco
]协程栈空间1.概述
libco
虽然支持海量协程,但是单线程,同一时刻只支持一个协程在工作。在一个时间段内,它通过调度,使多个协程不停切换,从而实现协程“并发”功能。
wenfh2020
·
2021-11-12 07:29
[
libco
]
libco
工作流程
libco
设计初衷:为了方便编写C++高性能网络服务。高性能网络服务主要有两个点:IO非阻塞+多路复用技术。
libco
使用hook技术解决阻塞问题。
libco
事件驱动使用(epoll/kevent)。
wenfh2020
·
2021-11-11 10:10
[
libco
] 协程切换理解思路
文章来源:[
libco
]协程切换理解思路1.协程切换正常情况下,函数代码从头到尾串行执行,直到函数生命期结束。而协程切换却能将当前运行的函数,切换到另外一个函数运行,这是协程的神奇之处。
wenfh2020
·
2021-11-10 17:48
[
libco
] 协程库学习,测试连接 mysql
带着这样的目的学习微信开源的一个轻量级网络协程库:
libco
。文章来源:[
libco
]协程库学习,测试连接mysql1.概述
libco
是轻量级的协程库,看
wenfh2020
·
2021-11-10 17:41
fastcgi 异步实现和协程实现比较
cocgi是使用腾讯开源库
libco
实现的协程模式的fastcgi.mucgi是使用muduo开源库实现的异步模式的fastcgi.两者针对的场景略有不同。
肚腩照明月
·
2021-06-24 09:14
Libco
协程库实现
腾讯开源的
Libco
协程库,以前看过部分源码,所有的协程都用数组模拟栈表示,里面使用到的技术点有hook系统函数,时间轮定时器,epoll,共享栈等,但没有协程池,当协程完成任务时,这里只在example
fooboo
·
2021-04-15 15:12
Libco
协程库实现(二)
这里补充下
libco
后续对于协程间切换的汇编新实现,原来的实现方法之前分析过
Libco
协程库实现,早期分析的时候有一个地方写错。
fooboo
·
2021-04-15 15:16
一文让你深入了解云风协程库的coroutine源码分析【建议收藏】
云风用200行代码实现了一个最简单的协程,我们先看这个代码了解一下协程的原理,然后再看微信的
libco
实现。一、协程简介协程是用同步的写法达到异步的性能。其基本原理是在IO等待时切
深度Linux
·
2021-01-08 11:09
skynet
网络
java
堆栈
多线程
linux
libco
1.
libco
协程客户端场景如下:tcp_sever:接受客户端连接,处理客户端请求,5s后回包,模拟rpc阻塞式调用服务tcp_client:连接tcp服务器,发送请求,等待回包,这里qps!
aa838260772
·
2020-09-15 00:50
c
Linux、c++程序设计——二级目录
·Linux编程linuxsocket解决客户端socket断开后,服务器端进程退出的问题基于
libco
、socket、epoll的回射服务器简单练习内存分配算法——FF、BF、WF、buddy(伙伴算法
GreyBtfly王宝彤
·
2020-09-14 13:10
目录
Linux网络编程
asm 比 ucontext 快
测试原装
libco
的asm版与
libco
的ucontext版性能,同一个机器、同一份代码,连接不同的
libco
实现库。asm版比ucontext快6倍左右。
aalbertini
·
2020-09-14 10:19
libco
libco
协程
libco
协程框架协程简介协程简称用户态线程,是在线程下自己实现的切换的用户态程序切换。
cc509a
·
2020-09-11 20:00
TCP/IP与网络编程
进程和协程切换原理及实现
进程和协程切换原理及实现推荐语背景业界现状概述进程切换实现原理异常控制流异常异常类别进程用户模式和内核模式上下文切换协程切换基本原理上下文切换实现方式协程栈实现方式静态栈分段栈拷贝栈共享栈(
libco
)
wallace_ss
·
2020-09-11 10:44
libco
协程库源码解析
一、什么是协程?进程:操作系统资源分配的最小单位,进程有独立的地址空间,每个进程都有自己的数据段、代码段和堆栈段。进程的上下文切换需要对寄存器、内核堆栈、虚拟内存、文件句柄等进行切换,因此切换开销比较大,但相对比较稳定安全。线程:操作系统调度的最小单位,拥有自己独立的程序计数器、寄存器和线程栈。因为同一个进程内的线程共享同一个虚拟内存空间,因此线程的切换不需要对虚拟内存空间和内核堆栈进行切换,只需
xl365t
·
2020-09-10 18:58
线程
libco
协程库原理解析与应用
最近在准备一个
libco
协程库原理简析与应用的分享,顺便就整理下写个博客,一方面加深下自己对协程库的理解,另一方面也希望能对想了解协程的学者有所帮助。废话不多说了,言归正传吧。
hhyjiayou
·
2020-09-10 13:06
服务端研发
协程库
libco
libco
在2013年的时候作为腾讯六大开源项目首次开源,最近做了一次较大的更新。
libco
支持后台敏捷的同步风格编程模式,同时提供系统的高并发能力。
快乐的霖霖
·
2020-09-10 12:49
分布式消息系统
秋招总结
项目也就
libco
,幸亏意识好一点加运气,拿到了还不错的offer。
practer
·
2020-08-24 15:52
杂谈
美团一面
自我介绍1.介绍
libco
库2.为什么用这个为什么快有没有测过3.tcp三次过程4.为什么三次不是两次不是四次5.打开一个网页网络层发生了什么?
practer
·
2020-08-24 15:52
libco
协程的理解
学习
libco
,做了一些代码解读,记录在此1线程上下文线程上下文实际是一个协程栈,维护协程之间的执行序列同一个线程中的所有协程,共用一个线程上下文线程上下文在第一次被使用到的时候进行创建//协程公共的线程上下文
LIncoLN_11
·
2020-08-23 20:49
libco
协程
libco
和tornado、协程和异步的一些理解
看了些
libco
的实现,感觉和tornado差不多,基本的思想还是在线程被阻塞的时候能够去做其他的事情,此时还是用epoll来调度挂起和恢复从这点看协程依然是基于异步的,且是纯异步的,只是协程框架提供了更好的语义表达
LIncoLN_11
·
2020-08-23 20:48
协程浅析
参考《coroutine协程详解》《协程及
libco
介绍》《协程(Coroutine)-ES中关于Generator/async/await的学习思考》协程线程线程是内核对外提供的服务,应用程序可以通过系统调用让内核启动线程
以后再换个名字
·
2020-08-23 19:36
操作系统
基于汇编的 C/C++ 协程 - 实现
正如上面两篇文章所说的,我们需要实现的目标有两个:有同步式服务器编程的顺序思路,便于功能设计和代码调试——我使用了
libco
中的协程部分有异步I/O的性能——我使用了libevent中的eventI/O
amc
·
2020-08-22 10:27
服务器开发
c++
异步io
协程
协程(一)快速理解协程的定义和分类
随着接触许多C++协程库,例如云风的coroutine、腾讯的
libco
、魅族的libgo等,很多当时模糊的概念也逐渐清晰。 云风的coroutine代码简介,实现了非对称的stackful协
hyman_yx
·
2020-08-15 03:10
C++
ucontext-人人都可以实现的简单协程库
c/c++不直接支持协程语义,但有不少开源的协程库,如:Protothreads:一个“蝇量级”C语言协程库
libco
:来自腾
曾经的学渣
·
2020-08-15 02:29
C/C++
C++ 开源协程库
libco
——原理及应用
1导论使用C++来编写高性能的网络服务器程序,从来都不是件很容易的事情。在没有应用任何网络框架,从epoll/kqueue直接码起的时候尤其如此。即便使用libevent,libev这样事件驱动的网络框架去构建你的服务,程序结构依然不会很简单。为何会这样?因为这类框架提供的都是非阻塞式的、异步的编程接口,异步的编程方式,这需要思维方式的转变。为什么golang近几年能够大规模流行起来呢?因为简单。
the cool grass
·
2020-08-13 18:31
协程技术
协程技术理解
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他