了解java的NIO,需要先了解同步异步以及阻塞非阻塞的概念,同步/异步,阻塞/非阻塞 NIO就是采用的同步非阻塞这种组合方式。或简单一点,采用的是IO复用的策略,可以使用一个线程管理多个IO连接。 BIO 常见使用方式 传统的BIO是同步阻塞的方式,因此,在服务器中常见的使用方式是: 来一个请求创 ...
分类:
编程语言 时间:
2018-03-28 15:38:15
阅读次数:
299
1.nginx模块化结构 核心模块(进程管理,权限控制,错误日志,配置解析,事件驱动机制,正则表达式解析) 标准HTTP模块(这些模块是默认被编译到Nginx中的,除非使用without排除) 可选HTTP模块 默认不编译 如需使用则 with参数声明。 邮件服务模块 第三方模块 2.Nginx服务 ...
分类:
其他好文 时间:
2018-03-27 16:36:05
阅读次数:
129
1、阻塞,非阻塞 首先,阻塞这个词来自操作系统的线程/进程的状态模型中,如下图: 一个线程/进程经历的5个状态,创建,就绪,运行,阻塞,终止。各个状态的转换条件如上图,其中有个阻塞状态,就是说当线程中调用某个函数,需要IO请求,或者暂时得不到竞争资源的,操作系统会把该线程阻塞起来,避免浪费CPU资源 ...
分类:
其他好文 时间:
2018-03-27 14:36:47
阅读次数:
151
劫匪冲进某花园小别墅,端着AK47,向某衰男甩过去一个袋子:说,快,把现金拿出来给我放进去,这个时候劫匪一直跟着衰男去装钱,看钱装满了他就拿走,此时劫匪是阻塞 的,因为劫匪不能干其他的,得看着这个衰男,免得他搞鬼。 想象下,如果劫匪等衰男自己去装钱,在钱装满之前,他自己可以到处翻箱倒柜,找点值钱的首 ...
分类:
其他好文 时间:
2018-03-20 10:36:38
阅读次数:
113
1、同步、异步有什么区别 在进行网络编程时,我们通常会看到同步、异步、阻塞、非阻塞四种调用方式以及他们的组合。 其中同步方式、异步方式主要是由客户端(client)控制的,具体如下: 同步(Sync) 所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。 根据这个 ...
分类:
其他好文 时间:
2018-03-07 00:52:03
阅读次数:
173
# 概念# 阻塞 非阻塞 同步 异步# 阻塞 time.sleep(1)# 异步 同时执行几个事儿# 同步 两个事儿 一个一个的执行# 网络IO模型# 1.阻塞IO# 2.非阻塞IO# 3.IO多路复用# 4.信号驱动IO# 5.异步IO# 网络IO# recv recvfrom accept re ...
分类:
其他好文 时间:
2018-03-05 18:16:00
阅读次数:
161
一 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能 ...
分类:
编程语言 时间:
2018-03-03 21:24:08
阅读次数:
227
以前写过一篇对于这几个概念的粗略解释,现在再深入一些。 同步和异步的区别: 同步是调用协议中结果在调用完成时返回,调用过程中参与双方处于一种状态同步的过程。 异步是指调用方发出请求就立即返回。 请求甚至可能还没有到达接收方。比如放到了某个缓冲区,等待对方取走或者第三方转交。 结果由接收方主动推送,或 ...
分类:
其他好文 时间:
2018-03-03 20:30:23
阅读次数:
141
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种 ...
分类:
其他好文 时间:
2018-03-01 17:09:08
阅读次数:
170
阻塞、非阻塞主要作用在调用方或请求方,如果调用方或请求方是一直等着不干其它任何事情,就是阻塞方式,如果调用方或请求方在请求之后一边等待一边去做其它事情,这种方式则为非阻塞方式。同步、异步同步、异步是调用或请求机制,主要看被调用方或被请求方对结果的处理,是调用方或请求方主动来获取还是被调用方或被请求方完成后主动通知调用方或请求方进行结果的处理,如果是调用方或请求方主动获取则为同步,如果是被调用方或被
分类:
其他好文 时间:
2018-03-01 11:54:05
阅读次数:
157