文档章节

AsynchronousSocketChannel

nifork
 nifork
发布于 2017/09/01 10:19
字数 252
阅读 28
收藏 0
NIO
public abstract <A> void read(ByteBuffer dst,
                              long timeout,
                              TimeUnit unit,
                              A attachment,
                              CompletionHandler<Integer,? super A> handler)

从通道中读取字节序列到指定的ByteBuffer

该方法启动异步读取操作,以从该通道读取到给定缓冲区的字节序列。 处理程序参数是在读操作完成(或失败)时调用的完成处理程序。 传递给完成处理程序的结果是读取的字节数,如果没有字节可以读取,则返回-1,因为通道已达到流出尾。

如果指定了一个超时,并且在操作完成之前超时,则操作将以异常InterruptedByTimeoutException完成。 在发生超时的情况下,实现不能保证字节未被读取,或者不会从通道读入给定的缓冲区,所以进一步尝试从通道中读取将导致抛出非特定的运行时异常。

否则,此方法的工作方式与AsynchronousByteChannel.read(ByteBuffer,Object,CompletionHandler)方法相同。

http://bugsee.cn/JDK8/java/nio/channels/AsynchronousSocketChannel.html#read-java.nio.ByteBuffer-long-java.util.concurrent.TimeUnit-A-java.nio.channels.CompletionHandler-

© 著作权归作者所有

共有 人打赏支持
nifork
粉丝 0
博文 27
码字总数 13098
作品 0
I/O模型与Java

原文已同步至http://liumian.win/2016/11/23/io-model-and-java/ 学习I/O模型之前,首先要明白几个概念: 同步、异步 阻塞、非阻塞 这几个概念往往是成对出现的,我们常常能够看到,等描述,正...

那只是一股逆流
2016/11/23
25
0
Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。 代码的所有说明...

hgqxjj
2017/11/30
0
0
不得不看!用Scala实现MongoDB连接

  【IT168 技术】文章开始之前,先简单介绍一下Scala,Scala是一门多范式编程语言,一种类似java的编程语言 ,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。可...

it168网站
2016/12/16
0
0
Java IO: BIO, NIO, AIO

BIO, NIO, AIO,本身的描述都是在Java语言的基础上的。而描述IO,我们需要从三个层面: 编程语言 实现原理 底层基础 从编程语言层面 BIO, NIO, AIO以Java的角度理解: BIO,同步阻塞式IO,简...

丢失的羊羔
2015/12/29
314
2
Java I/O 模型的演进

什么是同步?什么是异步?阻塞和非阻塞又有什么区别?本文先从 Unix 的 I/O 模型讲起,介绍了5种常见的 I/O 模型。而后再引出 Java 的 I/O 模型的演进过程,并用实例说明如何选择合适的 Java...

丢失的羊羔
2016/03/03
63
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式锁的那点事

在多线程并发的情况下,要保证一个代码块在同一时间只能由一个线程访问,可以用锁来保证,比如java的synchronized语法以及ReentrantLock类等等。这样子可以保证JVM进程内的多个线程同步执行。...

无语年华
5分钟前
0
0
apahce启用http2

需要前置条件传送门 其实前置做完了,h2是很简单的事 1.apache启用http2_module 2.打开apche的配置文件,写上 Protocols h2 http/1.1 3.重启apache,打开浏览器看看吧...

gcudwork
20分钟前
0
0
redis-string

set key value 设置值 set命令有以下选项: ex senconds :为健设置秒级过期时间 px millisencondes :为健设置毫秒级过期时间 nx :健不存在时候,可以设置成功,用于添加 xx : 与nx相反,不...

拐美人
26分钟前
1
0
正弦 余弦 角度 用于画时钟

<html> <head> <title>时钟</title> </head> <style> #canvas{ background: #1977ca } </style>......

一箭落旄头
42分钟前
4
0
驰狼课堂

http://www.chilangedu.com/

求是科技
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部