C 的 coroutine 库 via 云风的 BLOG】的更多相关文章

今天实现了一个 C 用的 coroutine 库. 我相信这个东西已经被无数 C 程序员实现过了, 但是通过 google 找了许多, 或是接口不让我满意, 或是过于重量. 在 Windows 下, 我们可以通过 fiber 来实现 coroutine , 在 posix 下, 有更简单的选择就是 setcontext . 我的需求是这样的: 首先我需要一个 asymmetric coroutine .如果你用过 lua 的 coroutine 就明白我指的是什么. 其次,我不希望使用 coro…
http://mp.weixin.qq.com/s?__biz=MzA3NjYxOTA0MQ==&mid=405432715&idx=1&sn=2e40ceafd4b298e19971a7703daf5c22&scene=0#wechat_redirect…
前言 前段时间研读云风的coroutine库,为了加深印象,做个简单的笔记.不愧是大神,云风只用200行的C代码就实现了一个最简单的协程,代码风格精简,非常适合用来理解协程和用来提升编码能力. 协程简介 协程是用同步的写法达到异步的性能.其基本原理是在IO等待时切换出去,在适当的时刻切换回来,最大程度利用CPU.协程可以理解为一个用户级的线程,一个线程里跑多个协程.并且,不管协程数量多少,都是串行运行的,就是说不存在同一时刻属于一个线程的不同协程同时运行.因此避免了多线程编程可能导致的同步问题.…
前言 从明天起 关心粮食和蔬菜 我有一所房子 面朝大海 春暖花开 本文前提条件 1.了解 posix 线程 2.了解 原子操作 3.具备简单C基础,或者 你也敲一遍. 如果上面不太清楚,你可以翻看我以前的博客,或者'百度'搜索. 结论 1.云风前辈的 玩具 cstring 有点坑, 内存管理很随意(也可能时我菜,理解不了他飘逸的写法) 2.对于江湖中成名已久的 高手, 其实 胜在 思路上. 3.前辈3-4h搞完的,重构了1周, 发现 const char* 和 char* 够用了,真的,越简单越…
转:  http://forthxu.com/blog/skynet.html skynet是云风编写的服务端底层管理框架,底层由C编写,配套lua作为脚本使用,可换python等其他脚本语言.skynet主要工作是管理注册服务,并开启多线程协调服务之间的调用和通讯. skynet一般用于开发游戏服务端程序. 注意:资料开始往github组织账号skynetclub上转移,本页面不在进行更新主要收集学习skynet有关的任何内容,如果你有好的资料或者你在研究skynet,可以将资料或链接地址发给…
本例主要介绍 如何将 pbc 集成到quick-cocos2dx框架中,让我们的cocos2dx客户端Lua拥有编解码Protocol Buffers能力. 参考: 云风pbc的用法: http://www.cnblogs.com/ghost240/archive/2013/08/12/3253092.html 本例使用的项目位置: https://github.com/miaodadao/pbc  框架Quick-cocos2dx官网:http://cn.quick-x.com/ pb文件生成…
数据库作为核心数据的重要存储,很多时候都会面临数据迁移的需求,例如:业务从本地迁移上云.数据中心故障需要切换至灾备中心.混合云或多云部署下的数据同步.流量突增导致数据库性能瓶颈需要拆分-- 本文将会一步步带着大家来操作,实现RDS For SQL Server单库上云. 一 创建RDS For SQL Server实例 打开京东云控制台:https://console.jdcloud.com/ 在左侧导航依次点击数据库库与缓存-云数据库 RDS,选择华北-北京地域后点击创建按钮. 选择计费类型(…
链接出现以下错误: coroutine.c:139: undefined reference to `getcontext' coroutine.c:146: undefined reference to `makecontext' coroutine.c:163: undefined reference to `swapcontext' 搜索了android-ndk-r14b/platforms/android-24/arch-arm64/usr/lib下的所有.a文件中的符号,没有找到: n…
1.使用阿里云镜像库有很多优点 稳定可靠,阿里技术,放心使用. 国内cdn多节点加速,下载速度非常快 可以和阿里云Git代码集成,不需要第三方CI工具,当然带的自动构建服务也可以和其他的Git库集成,非常方便 国内专属加速器,一个人的专属通道,国外需要FQ下载的镜像,在这里统统可以搞定 阿里云端构建,不需要占用本地资源.全球网络直达,有墙?不存在的,可以 直接选海外机构建 免费~!免费~!免费~! 不限空间~!不限空间~!不限空间~! 2. 注册使用 打开  https://dev.aliyun…
1. 引言 使用DevOps肯定离不开和代码的集成.所以要想跑通整套流程,代码库的选型也是非常重要的.否则无法实现持续集成.目前比较常用的代码管理有SVN和GIt 如果还使用SVN的,建议尽早迁移到Git上面,不然很费劲的.尤其是webhook,很多svn软件都不支持. 2. Git选型 可以采用公网的GitHub,这是用的最多的,但是免费账号还是缺少很多功能,收费版吧,挺全的,不过大部分人,公司都不愿意掏钱. 呵呵呵. 免费的就自己架设吧.Gitlab CE和Bitbucket 都可以.当然这…