以下代码执行的结果是什么? 【结果是1 2 3 】 以下代码执行的结果是什么? 【结果是1 2 3 】 1.3.1 JS 是单线程 1.3.2 同步任务和异步任务 ? 单线程导致的问题就是后面的任务等待前面任务完成,如果前面任务很耗时(比如读取网络数据),后面任务不得不一直等待!! ? 为了解决这个 ...
分类:
编程语言 时间:
2020-01-11 23:54:39
阅读次数:
170
Node.js的主要特点 单线程、非阻塞I/O、事件驱动,这三个特点是相辅相成的。 Node为了在低硬件服务器条件下高并发,所以减少了内存消耗,选择单线程; 因为只有一个线程,所以必须非阻塞I/O,每件事情都有回调函数; 为了合理调度,Node使用了事件环的机制,采用事件驱动来调度事件。 非阻塞I/ ...
分类:
其他好文 时间:
2020-01-05 14:07:45
阅读次数:
73
事件基础 注意:本文不会深入探究Javascript的事件循环。 提到事件,相信每位Javascript开发者都不会陌生,由于Javascript是先有实现,后有规范,因此,对于大部分人来说,事件模块可以说是比较模糊的,本文将从不同角度帮助你理清楚事件模块。 事件的本质可以说是一个回调函数,当事件触 ...
分类:
编程语言 时间:
2019-12-31 12:24:02
阅读次数:
65
感觉比java写起来还要忧伤..... """ select , poll,epoll 注意: epoll并不一定比select的性能好,这需要看场景 1. 在高并发场景,且连接活跃度不是很高的时候,epoll比select好, 比如web应用 2. 在并发不高,但连接很活跃的场景下,select ...
分类:
其他好文 时间:
2019-12-22 00:32:06
阅读次数:
108
异步篇 1 介绍 2 除了 、`并行 异步`模式,它与事件编程一样,十分重要 在并发的异步模式中,不同的任务在时间线上是相互交错的,而且一切都是在单一控制流(单线程)下进行的 1.asyncio (过时) 基本使用 1.1 使用asyncio实现事件循环管理 什么是事件循环? 在计算系统中,能够产生 ...
分类:
编程语言 时间:
2019-12-15 16:48:54
阅读次数:
93
上一节我们首先介绍了,如何创建一个协程对象.主要有两种方法 通过async关键字, 通过@asyncio.coroutine 装饰函数。 然后有了协程对象,就需要一个事件循环容器来运行我们的协程。其主要的步骤有如下几点: 将协程对象转为task任务对象 定义一个事件循环对象容器用来存放task 将t ...
分类:
其他好文 时间:
2019-12-11 12:56:00
阅读次数:
88
Qt事件分发机制源码分析包含QApplication对象构建过程、主界面显示过程、事件循环处理过程三个主题,这三个主题就覆盖了Qt GUI交互应用程序的核心机制内容;这篇博文主要讲解第一个主题,即QApplication对象构建过程; ...
分类:
移动开发 时间:
2019-12-08 12:36:18
阅读次数:
110
大纲: 相关知识点: 主体: (1)模型原理 JS部分:初始化代码执行 WebAPIS:执行上下文对象(不是一个真的对象,而是一个抽象的虚拟对象,可以看做栈里的一个区域,包含很多对象) setTimeout:定时器管理模块(分线程) DOM(document):事件响应管理模块(分线程)callba ...
分类:
Web程序 时间:
2019-12-04 01:41:35
阅读次数:
105
swoole是PHP的扩展,又不是一个普通的扩展。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。 在实际生产环境中,swoole提供了一个PHP 异步网络通信引擎。使 PHP 开发人员可以编写高性 ...
分类:
其他好文 时间:
2019-12-02 23:51:33
阅读次数:
130
前言 JS中整个循环当中,仅存在一个《》 理解一下概念问题 微任务,宏任务 宏任务需要多次事件循环才能执行完,微任务是一次性执行完的; 2.宏任务macrotask: (事件队列中的每一个事件都是一个macrotask) 优先级:主代码块 > setImmediate > MessageChanne ...
分类:
其他好文 时间:
2019-12-02 23:44:08
阅读次数:
143