1. 简介 本教程中,我们将对比 Spring 的两种 Web 客户端实现 —— RestTemplate 和 Spring 5 中全新的 Reactive 替代方案 WebClient 。 2. 阻塞式 vs 非阻塞式客户端 Web 应用中,对其他服务进行 HTTP 调用是一个很常见的需求。因此, ...
分类:
编程语言 时间:
2019-07-31 12:54:42
阅读次数:
77
学习一门新的语言,首先需要大致了解一下语言的由来及基本特性。 Node.js发布于2009年5月,由Ryan Dahl开发,即javascript与Google V8 web服务引擎的结合。 简单来说,Node.js就是一个运行于服务器端的javascript。 它的特点,单线程、非阻塞I/O、事件 ...
分类:
Web程序 时间:
2019-07-29 19:05:37
阅读次数:
135
BIO:同步阻塞式IO NIO:同步非阻塞式IO AIO(NIO2.0):异步非阻塞式IO 同步:指虚拟机来完成IO读写,如果读写没有完成程序一直等待。 异步:指将读写交给操作系统来做,java代码要干的事就是将想读的写的东西给操作系统然后返回状态值,最后让操作系统通知程序是否完成。 阻塞:指对网络 ...
分类:
其他好文 时间:
2019-07-29 11:33:12
阅读次数:
130
9.11 进程池与线程池 池子使用来限制并发的任务数目,限制我们的计算机在一个自己可承受的范围内去并发地执行任务 池子内什么时候装进程:并发的任务属于计算密集型 池子内什么时候装线程:并发的任务属于IO密集型 进程池: 线程池: 9.112 基于多线程实现并发的套接字通信(使用线程池) 服务端: 客 ...
分类:
编程语言 时间:
2019-07-25 21:44:04
阅读次数:
580
socket 多连接 本文档为文档https://www.cnblogs.com/wodeboke-y/p/11241472.html 后续内容。 上一文档中的案例2给出了一个阻塞型socket server 下面为非阻塞型,关键点如下: accept阻塞,使用thread解决 socket阻塞,使 ...
分类:
其他好文 时间:
2019-07-25 00:40:04
阅读次数:
84
NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。 那么NIO的本质是什么样的呢?它是怎样与事件模型结合来解放线程、提高系 ...
分类:
编程语言 时间:
2019-07-23 00:28:58
阅读次数:
104
总结了五种IO模型:阻塞I/O(blocking IO)、非阻塞I/O(nonblocking IO)、I/O多路复用(IO multiplexing)、信号驱动I/O(signal driven IO)、异步I/O(asynchronous IO)。 ...
分类:
编程语言 时间:
2019-07-22 20:12:44
阅读次数:
159
一般来说,一个输入操作通常包括两个阶段: 1、等待数据准备好; 2、从内核向进程复制数据 1、等待数据准备好; 2、从内核向进程复制数据 是否同步的判断依据是: 是否 针对的 整个过程,即2个阶段,是否有阻塞 是否阻塞的判断依据是: 按 程序等待消息通知时的状态角度来说的,,即针对第一阶段来说 例子 ...
分类:
其他好文 时间:
2019-07-21 01:31:26
阅读次数:
147
流指的是数据流,指的是数据是分片传输, 数据可以实现非阻塞 gulp 【 流式操作 】 案例: 打包压缩包 流程: 读取文件 const fs=require('fs') 2. 创建压缩包 const zlib=require('zlib') const inp=fs.createReadStrea ...
分类:
其他好文 时间:
2019-07-17 20:45:33
阅读次数:
136
Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。 得利于其非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是 ...
分类:
Web程序 时间:
2019-07-17 18:11:33
阅读次数:
123