本文着重讲解通过事件循环机制来实现多个异步操作的有序执行、并发执行;通过事件队列实现同级多个并发操作的先后执行顺序,通过微任务和宏任务的概念来讲解不同阶段任务执行的先后顺序,最后通过将浏览器和node下的事件循环机制进行对比,对比其事件循环机制的不同之处,以及在node端通过libuv引擎来实现多个异步任务的并发执行。
分类:
其他好文 时间:
2020-12-14 13:07:36
阅读次数:
3
#include <cstdio> #include <stdio.h> #include <stdlib.h> #include <libuv/uv.h> #include <inttypes.h> #include <stdio.h> #include <stdlib.h> #include < ...
分类:
其他好文 时间:
2020-12-10 11:32:29
阅读次数:
7
简单对比下几个常用的几个异步事件库 libuv支持在Windows下支持IOCP,Linux下支持epoll,BSD系支持kqueue libev在Linux下支持epoll,BSD系支持kqueue,但在Windows只能select libevent支持在Windows下支持IOCP(但是据说支 ...
yum -y install libcap* libuv libuv-devel wget https://downloads.isc.org/isc/bind9/9.16.0/bind-9.16.0.tar.xz tar -xf bind-9.16.0.tar.xz useradd -s /sbi ...
分类:
其他好文 时间:
2020-03-12 18:51:12
阅读次数:
148
PHP 是一种开源的通用计算机脚本语言,适用于网络开发并可嵌入 HTML 中使用。它的语法借鉴吸收 C 语言、Java 和 Perl 等流行计算机语言的特点,易于一般程序员学习。但是由于太难用,也是被很多人吐槽的一种语言。下面,来看看这位曾经觉得 PHP 槽点满满的作者怎么说…… 2012 年有一篇 ...
分类:
编程语言 时间:
2020-01-29 00:53:45
阅读次数:
122
process.nextTick()的意思就是定义出一个动作,并且让这个动作在下一个事件轮询的时间点上执行。
分类:
Web程序 时间:
2019-12-22 09:16:58
阅读次数:
126
libev与libuv的区别 https://www.cnblogs.com/charlesblc/p/6341280.html 参考: http://blog.csdn.net/w616589292/article/details/46475555 libuv 和 libev ,两个名字相当相近的 ...
分类:
其他好文 时间:
2019-10-24 10:13:21
阅读次数:
69
有关异步编程框架的讨论 https://www.jianshu.com/p/c4e63927ead2 https://www.jianshu.com/p/c4e63927ead2 前言 从python的twisted,到之后Java的NIO,Netty,以及Nodejs带着底层libuv的横空出世, ...
分类:
其他好文 时间:
2019-10-24 09:37:17
阅读次数:
129
Github 主页 https://github.com/panjf2000/gnet 欢迎大家围观~~,目前还在持续更新,感兴趣的话可以 star 一下暗中观察哦。 简介 是一个基于 Event Loop 事件驱动的高性能和轻量级网络库。这个库直接使用 "epoll" 和 "kqueue" 系统调 ...
分类:
Web程序 时间:
2019-09-27 17:40:14
阅读次数:
177
这篇应该能结,简图如下。 上一篇讲到了uv__work_submit方法,接着写了。 从post开始。 这里的wq就是每一条线程都会用到的队列,这里负责插入任务,worker中取出任务。 没想到post到这里没了,这点东西并到上一篇就好了。以后写这种系列博客还是先规划一下,不能边看源码边写…… 函数 ...
分类:
其他好文 时间:
2019-05-13 17:54:06
阅读次数:
124