简介 netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高。提供了对TCP、UDP ...
分类:
Web程序 时间:
2020-06-22 19:31:39
阅读次数:
63
NIO v.s. IO 传统IO: 面向流 属于阻塞IO 单向管道传输:输入流、输出流 NIO: 面向缓冲区 属于非阻塞IO 使用缓冲区在通道内传输 缓冲区 缓冲区在NIO中负责数据的存取,缓冲区就是数组,用于存储不同数据类型的值,除了boolean,都有相应类型的缓冲区。 缓冲区的核心方法:取ge ...
分类:
其他好文 时间:
2020-06-21 18:00:37
阅读次数:
70
阻塞式方法是指程序会一直等待该方法完成期间不做其他事情,ServerSocket 的 accept()方法就是一直等待客户端连接。这里的阻塞是指调用结果返回之前,当前 线程会被挂起,直到得到结果之后才会返回。此外,还有异步和非阻塞式方法在 任务完成前就返回。 ...
分类:
其他好文 时间:
2020-06-21 12:17:39
阅读次数:
55
s32Ret = HI_MPI_VDEC_SendStream(s32ChnId, &stStream, 0); // 参数3 ,0 表示非阻塞输入 if ((HI_SUCCESS != s32Ret)) { printf("error type is 0x%#x", s32Ret); usleep ...
分类:
其他好文 时间:
2020-06-20 16:48:43
阅读次数:
135
一、Nodejs介绍 Nodejs英文网:https://nodejs.org/en/ Nodejs中文网:http://nodejs.cn/ Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其 ...
分类:
Web程序 时间:
2020-06-18 19:34:35
阅读次数:
63
当我们学习python的时候,会遇到很多开源框架,这些框架可以实现很多事情,在不同岗位上都具有重要作用。面对python开源框架,你最中意哪一个呢?
分类:
编程语言 时间:
2020-06-16 00:56:14
阅读次数:
88
Netty中使用零拷贝方式写大数据 因为网络饱和的可能性,如何在异步框架中高效地写大块的数据是一个特殊的问题。由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture。当这种情况发生时,如果仍然不停地写入,就有内存耗尽的风险。所以在写大型数据时,需要准 ...
分类:
Web程序 时间:
2020-06-11 19:27:29
阅读次数:
94
前言 在开始正文前,先来看几个概念 同步异步:同步异步描述的是用户进程和内核进行的交互。同步是用户进程发起 IO 操作后需要等待或轮询内核,等内核 IO 操作完成后才能继续。异步是发起 IO 操作后,可以继续操作,等内核 IO 操作完成是会通知用户进程。 阻塞和非阻塞:阻塞和非阻塞描述的是用户线程调 ...
分类:
编程语言 时间:
2020-06-09 18:19:31
阅读次数:
99
1. Unix的五种I/O模型 从上往下:阻塞程度(高 低)I/O效率 (低 高) 阻塞I/O(Blocking I/O):传统的IO模型 非阻塞I/O(Non-Blocking I/O): 注意这里所说的NIO并非Java的NIO(New IO)库。 I/O多路复用(I/O Multiplexin ...
分类:
其他好文 时间:
2020-06-08 19:26:42
阅读次数:
73
NIO VS IO NIO: 面向缓存; 非阻塞的; selector IO: 面向流; 阻塞的; 无 JAVA IO Java IO: Reading data from a blocking stream. Java IO: A classic IO server design - one co ...
分类:
其他好文 时间:
2020-06-08 19:09:14
阅读次数:
59