end's coding life

赤子之心

阻塞、非阻塞和同步、异步的讨论

一、概念 异步:某个事情需要10s完成。而我只需要调用某个函数告诉xxx来帮我做(然后我再干其他的事情) 同步:某个事情需要10s完成,我需要一直等它完成(等10s),再能继续后面的工作。 阻塞:做某件事情,直到完成,除非超时 非阻塞:尝试做,如果不能做,就不做(直接返回),如果能做,...

2016-05-16 11:35:40

阅读数:336

评论数:0

四种IO模型的解释

同步阻塞 IO : 在此种方式下,用户进程在发起一个 IO 操作以后,必须等待 IO 操作的完成,只有当真正完成了 IO 操作以后,用户进程才能运行。 JAVA传统的 IO 模型属于此种方式! 同步非阻塞 IO: 在此种方式下,用户进程发起一个 IO 操作以后 边可 返回做其它事情,但是...

2016-04-28 18:57:28

阅读数:906

评论数:0

Mina工作原理分析

Mina是Apache社区维护的一个开源的高性能IO框架,在业界内久经考验,广为使用。Mina与后来兴起的高性能IO新贵Netty一样,都是韩国人Trustin Lee的大作,二者的设计理念是极为相似的。在作为一个强大的开发工具的同时,这两个框架的优雅设计和不俗的表现,有很多地方是值得学习和借鉴的...

2016-04-14 10:25:22

阅读数:1541

评论数:0

一个故事讲清楚 NIO

假设某银行只有10个职员。该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。 1 BIO方式...

2016-04-13 17:40:43

阅读数:651

评论数:0

Java NIO(6)----NIO与IO

当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计。 Java NIO和IO的主要区别 下表总结了Java NIO和IO之间的主要差别,...

2016-04-09 19:02:18

阅读数:2326

评论数:0

Java NIO(5)----Pipe

Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 这里是Pipe原理的图示: 创建管道 通过Pipe.open()方法打开管道。例如: ...

2016-04-09 19:01:09

阅读数:297

评论数:0

Java NIO(4)----几种Channel

Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。 FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。 打开FileChannel 在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileCha...

2016-04-09 18:56:52

阅读数:343

评论数:0

Java NIO(3)----Selector

Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 下面是本文所涉及到的主题列表: 为什么使用Selector?Selector的创建向Sele...

2016-04-09 18:25:33

阅读数:374

评论数:0

Java NIO(2)----数据传输

Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。 分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Ch...

2016-04-09 18:24:36

阅读数:303

评论数:0

Java NIO(1)----Channel 和 Buffer

Java NIO 由以下几个核心部分组成: ChannelsBuffersSelectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心...

2016-04-09 18:21:23

阅读数:2364

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭