在学习libuv的线程相关API的时候碰到了uv_barrier_xxx相关函数,虽然说libuv的线程库总的来说和pthread差不多,但在看APUE的时候都没碰到过线程同步相关里面这个概念,于是网上查找了一下,总结如下: pthread_barrier_xxx系列函数在<pthread.h>中定 ...
分类:
其他好文 时间:
2018-05-15 22:51:40
阅读次数:
206
前言 学网络I/O的时候难免会碰到这样或那样的异步IO库,比如libevent、libev、libuv,看完UNP之后动手写过几个简单的小玩意,总感觉网络底层的那些函数使用起来好麻烦,一个接一个地man起来也挺费劲,于是学习这些成熟网络I/O库的想法应运而生。 初看这些库的简介感觉都差不多,原理和p ...
分类:
其他好文 时间:
2018-05-15 00:33:31
阅读次数:
479
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <uv.h>#define DEFAULT_PORT 7000#define DEFAULT_BACKLOG 128uv_loop_t *loop;struct sock ...
分类:
其他好文 时间:
2018-05-13 21:39:23
阅读次数:
201
libuv下载地址 https://github.com/libuv/libuv github上面对于编译的描述是这样的 嗯,正常情况下是这样就可以的,然而如果你是一台新机的话,可能会遇到几个错误。 错误1:执行 的时候,提示bash: ./autogen.sh: /bin/sh^M: 解释器错误: ...
分类:
系统相关 时间:
2018-05-10 15:39:54
阅读次数:
254
本文为转载,原文地址:https://blog.csdn.net/zhoushuntian/article/details/78852247 Yloop概要 Yloop是AliOS Things的异步事件框架。Yloop借鉴了,libuv及嵌入式业界常见的event loop,综合考虑使用复杂性,性 ...
分类:
移动开发 时间:
2018-04-19 01:47:10
阅读次数:
251
今天我们正在开发的游戏在测试过程中,服务器又挂了,用gdb加载core文件后看到最后的堆栈信息如下 查看libuv的源码,是下面代码引起的错误 对应的宏定义是 检查了loop和uv_timer_t均为有效指针,并且排除有多线程的竞争操作。 查看uv_timer_t的loop和type以及flags都 ...
分类:
其他好文 时间:
2018-03-29 10:26:52
阅读次数:
186
前言 这应该是Nodejs的运行原理的第7篇分享,这篇过后,短时间内不会再分享Nodejs的运行原理,会停更一段时间,PS:不是不更,而是会开挖新的坑,最近有在研究RPG Maker MV,区块链,云计算,可能会更新一些相关文章,或者相关教学。 回到正题,异步编程的难点在于请求与响应不是按顺序发生的 ...
分类:
Web程序 时间:
2018-03-07 11:37:21
阅读次数:
7882
简短介绍 asyncio是遵循Python标准库的一个异步 I/O框架.在这篇文章里,我将介绍 uvloop: 可以完整替代asyncio事件循环.uvloop是用Cython写的,基于 libuv. uvloop 使得 asyncio 更快. 实际上,比nodejs,gevent,以及其他任何Py ...
分类:
编程语言 时间:
2018-02-22 21:34:43
阅读次数:
1055
前言 当客户端向http server 发起TCP链接时,server端会发起一系列的callback调用,这是一个逆向调用的过程;开始于libuv,终止于js代码里的callback(promise then)函数。 如下图所示,http server 正向调用过程,实际大部分的时间花在net.j ...
分类:
Web程序 时间:
2018-02-12 13:36:32
阅读次数:
199
Reactor模式:反应器模式,是高性能网络服务器中最为常用的一种模式,libevent,muduo,libuv等网络库都是以 Reactor模式构建。Reactor模式由同步事件多路分解器和具体事件处理程序组成,同步事件多路分解器一般都是 由操作系统支持,如支持IO复用的select,epoll, ...
分类:
其他好文 时间:
2018-02-11 14:38:34
阅读次数:
137