NodeJS的作者说,他创造NodeJS的目的是为了实现高性能Web服务器,他首先看重的是事件机制和异步IO模型的优越性,而不是JS。但是他需要选择一种编程语言实现他的想法,这种编程语言不能自带IO功能,并且需要能良好支持事件机制。JS没有自带IO功能,天生就用于处理浏览器中的DOM事件,并且拥有一 ...
分类:
Web程序 时间:
2020-04-11 13:03:43
阅读次数:
118
node - 非阻塞的异步 IO 每当我们提起 node.js 时总会脱口而出 事件驱动、非阻塞I/O 和 单线程,所以我总结了以下几点对这三项概念的阐述,不一定正确仅仅代表个人观点。 单线程 当一个应用程序运行时会产生一个主进程,它与其他并行执行的应用程序一起竟争计算机系统资源,是管理和分配现有所 ...
分类:
其他好文 时间:
2020-04-03 15:14:03
阅读次数:
74
作者:人世间链接:https://www.jianshu.com/p/b5e347b3a17c Python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程。无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态。使 ...
分类:
编程语言 时间:
2020-03-30 19:31:09
阅读次数:
64
非常适合小白的 Asyncio 教程 原文:https://segmentfault.com/a/1190000008814676 所谓「异步 IO」,就是你发起一个 IO 操作,却不用等它结束,你可以继续做其他事情,当它结束时,你会得到通知。 Asyncio 是并发(concurrency)的一种 ...
分类:
其他好文 时间:
2020-03-24 19:17:01
阅读次数:
78
1.在程序中一般有5中IO model 1.blocking IO 阻塞 IO 2.nonbiocking IO 非阻塞IO 3.IO multiplexing IO多路复用 4.signal driven IO 信号驱动IO(基本上不用) 5.asynchronous 异步IO 2.在进行IO操作 ...
分类:
其他好文 时间:
2020-03-21 18:24:21
阅读次数:
72
今日学习了网络编程,总结下今天的学习内容 一、TCP和UDP 1、TCP和UDP的区别是什么,TCP是面向连接,是可靠的(需要双方确认的),基于字节流的,UDP是无连接的,不可靠的(发送后就不管了),面向报文的 2、TCP的三次握手和四次挥手 二、HTTP 1、浏览器通过url请求,这个过程中发生了 ...
分类:
其他好文 时间:
2020-03-19 17:42:46
阅读次数:
59
特点 单线程 原因一:因为采用了非阻塞的异步事件处理机制。 原因二:缓存数据都是内存操作IO时间不会太长,可以避免线程上下文切换的代价。 异步IO 多数据结构 支持持久化 不仅可以做缓存,还可以做NoSQL数据库。 主从模式 提供主从同步机制,以及cluster集群部署能力,能提供高可用服务。 数据 ...
分类:
其他好文 时间:
2020-03-15 13:42:06
阅读次数:
67
协程: 使用一个线程来实现异步操作的。它相对于多线程执行效率高,不存在线程切换;此外协程不牵扯多线程中锁的机制,所以不必考虑加锁这些复杂操作。 协程是通过generator来实现的,就是yield关键字和send()函数的使用。 生成器的yield关键字: yield关键字可以将值(信息)返回,同时 ...
分类:
编程语言 时间:
2020-03-02 12:37:25
阅读次数:
81
复习Innodb关键的特性插入缓存两次写异步IO刷新邻近页自适应哈希索引概述double write 的主要的作用是保证写入数据库文件的可靠性。通俗地说就是一份数据写两个地方,当出现异常的时候,拿备用的一份进行恢复,于是这就有个问题了,这样写不会很慢吗?不会,备份的那份可以设计成顺序写。动机 Inn... ...
分类:
数据库 时间:
2020-02-27 11:38:51
阅读次数:
93
啥是异步IO 众所周知,CPU速度太快,磁盘,网络等IO跟不上. 而程序一旦遇到IO的时候,就需要等IO完成才能进行才能进行下一步的操作. 严重拖累了程序速度. 因为一个IO操作就阻塞了当前线程,导致其他代码无法执行,所以我们必须使用多线程或者多进程来并发的执行代码. 但是多线程或者多进程虽然解决了 ...
分类:
编程语言 时间:
2020-02-26 23:22:55
阅读次数:
161