一、NioEventLoop与NioEventLoopGroup的关系 二、NioEventLoop 1. 设计原理 1. 负责IO读写 2. 执行task。通过调用NioEventLoop的execute(Runnable task)方法实现。我们知道,为了防止资源竞争和并发操作,我们经常会判断当 ...
分类:
Web程序 时间:
2019-09-25 16:08:20
阅读次数:
133
在使用Netty之前先介绍下Netty的常用API,对其有一个大概的了解。 一、EventLoop和EventLoopGroup EventLoop如同它的名字,它是一个无限循环(Loop),在循环中不断处理接收到的事件(Event)。 Netty线程模型的基石是建立在EventLoop上的,从设计 ...
接上一篇,我们继续看 不知道大家第一次看这段代码的时候有没有一脸懵逼,反正我是一脸懵,为什么这个if else 最终都是调用的register0方法,都是一样的。 其实这里就是为什么Netty是线程安全的根本原因。 我们先看下 eventLoop.inEventLoop() 方法 第一张图传入了 当 ...
分类:
Web程序 时间:
2019-07-03 00:31:28
阅读次数:
118
今天我的jupyter notebook打不开了,就是那种一打开出现黑色界面就退出的那种,惊恐爬上了我的面颊。 找了一个小时,试了好几种办法(包括别人说的什么把属性里面后面的%%的去掉)终究无果 打开anaconda prompt,输入jupyter notebook 立即报错 Traceback ...
分类:
其他好文 时间:
2019-06-11 11:14:55
阅读次数:
824
1,手写promise 2,call apply bind 3,简单算法 4,原型 5,闭包、柯里化 6,eventloop 7,节流防抖 8,函数作用域和上下文 9,map reduce 10, new实现 11,vue 依赖收集 和 diff算法 12, https握手, http2 ...
分类:
其他好文 时间:
2019-06-10 12:04:31
阅读次数:
76
定义 首先需要明确的是,Promise 是异步的。JS 异步操作是通过 JS 的事件循环机制 EventLoop 实现的。 MDN Web Doc 对 Promise 的解释: Promise 对象是一个代理对象(代理一个值),被代理的值在 Promise 对象创建时可能是未知的。它允许你为异步操作 ...
分类:
编程语言 时间:
2019-05-30 18:11:24
阅读次数:
149
Channel体系分析 接口与类结构体系 AbstractChannel新增加的特性 1. EventLoop与该Channel是否兼容 2. 获取本地绑定的SocketAddress 3. 获取远程连接到的SocketAddress 4. doxxxx接口,注册,绑定,连接,关闭,去注册,开始读, ...
分类:
Web程序 时间:
2019-05-26 00:30:20
阅读次数:
208
Python 3.4 asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。 asyncio的编程模型就是一个消息循环。我们从asyncio模块中直接获取一个EventLoop的引用,然后把需要执行的协程扔到EventLoop中执行,就实现了异步IO。 用asyncio实... ...
分类:
编程语言 时间:
2019-05-08 14:44:23
阅读次数:
153
Netty 支持多种实现方式,比如nio,epoll 等,本文以nio的实现方式进行讲解。 1.EventLoop : 时间循环看,简单来说就是一个死循环监听事件,如果事件来了,处理掉。通常做法就是开启一个独立线程,一直循环。 伪代码: while (queue.waitForMessage()) ...
分类:
Web程序 时间:
2019-04-06 18:42:55
阅读次数:
211
Start HttpServer 如何实现隔离(actor模型) Connection scheduling process: add handler to eventloop structure: ...
分类:
Web程序 时间:
2019-03-25 17:36:44
阅读次数:
480