0 0

java nio的selector.select()方法0

selector.select()方法在什么情况下会返回0,返回0又代表什么意思?

//处理链接成功事件
if(key.isConnectable()){
	System.out.println("ccccc");
	SocketChannel sc = (SocketChannel) key.channel();
	try {
		//完成连接过程
		if(sc.finishConnect()){ //?????????  为什么不加这一句Selector.select()就一直返回0
		     sc.register(selector, SelectionKey.OP_READ|SelectionKey.OP_WRITE);
		}
	}catch (Exception e) {
		throw new RuntimeException("SocketChannel注册事件时异常",e);
	}
}
2014年10月08日 02:54
目前还没有答案

相关推荐

    Java NIO——Selector机制解析三(源码分析)

    本文将深入探讨Java NIO中的Selector机制,并通过源码分析来理解其实现原理。 Selector机制是Java NIO中的核心组件,它允许单线程同时监控多个通道(Channels)的状态变化,例如连接就绪、数据可读或可写等。这种...

    java nio Selector的使用-客户端

    在创建Selector时,可以使用`java.nio.channels.Selector.open()`方法。接着,我们可以使用`channel.configureBlocking(false)`将通道设置为非阻塞模式,然后调用`channel.register(selector, interestOps)`方法将...

    Java_NIO-Selector.rar_java nio_selector

    - **创建Selector**:首先,我们需要通过`java.nio.Selector.open()`方法创建一个Selector实例。 - **注册Channel**:然后,我们可以将ServerSocketChannel、SocketChannel或其他类型的通道注册到Selector上,指定...

    java NIO详细教程

    Java NIO的核心组件包括Channel(通道)、Buffer(缓冲区)和Selector(选择器)。 - **Channel**:通道用于连接源和目的地,支持数据的读写操作。与传统的流不同,通道支持双向通信,并且可以通过非阻塞的方式进行...

    Java-NIO之Selector.doc

    Java NIO(非阻塞I/O)中的Selector是一个核心组件,它允许单个线程处理多个通道(channels)上的I/O事件。Selector的角色就像一个交通指挥员,能够监控多个通道并决定哪个通道准备好进行读写操作,从而提高系统的...

    【IT十八掌徐培成】Java基础第27天-03.NIO-Selector.zip

    1. **创建Selector**:首先,我们需要通过`java.nio.channels.Selector.open()`方法创建一个Selector实例。 2. **注册Channel**:然后,将需要被监视的Socket Channel、ServerSocket Channel等通过`channel....

    java nio Selector的使用-服务器端

    5. 循环调用Selector的`select()`方法,获取就绪的通道:`int selectedKeys = selector.select();` 6. 遍历并处理就绪的SelectionKey:`for (SelectionKey key : selector.selectedKeys()) { ... }` 7. 处理完事件后...

    java-nio.rar_java nio_nio 对象实例化

    在Java NIO中,服务器线程会使用选择器进行轮询,调用`selector.select()`来检测哪些通道已经准备好了进行读写操作。然后,根据返回的选择键(SelectionKey)集合,可以获取就绪的通道并进行相应的处理,如读取...

    JavaNIO.zip_java nio_nio java

    Java NIO,全称为Non-Blocking Input/Output(非阻塞输入/输出),是Java从1.4版本开始引入的一个新特性,旨在提供一种更高效、更具选择性的I/O操作方式。相较于传统的IO模型,NIO的核心优势在于其非阻塞特性,允许...

    nio.rar_NIO_NIO-socket_java nio_java 实例_java.nio

    Java NIO(New IO)是Java 1.4版本引入的一个新特性,它为Java应用程序提供了非阻塞I/O操作的能力,与传统的IO模型(基于流的I/O和基于缓冲区的I/O)相比,NIO具有更高的效率和灵活性。在Java NIO中,数据是以通道...

    Java NIO Selector选择器简介.pdf

    ### Java NIO Selector选择器详解 #### 一、Selector概览及作用 **Selector** 是 Java NIO (New I/O) 框架中的一个重要组成部分,主要用于检测一个或多个 **NIO Channel** 的状态,包括但不限于可读、可写、可连接...

    java NIO实例

    在`NIOServer.java`中,服务器端首先会初始化Selector并注册ServerSocketChannel,之后进入一个无限循环,调用selector.select()方法等待事件发生。当有客户端连接时,服务器会处理新连接,创建SocketChannel,并将...

    java_nio.doc

    Java NIO(New IO)是Java 1.4版本引入的一个新模块,它提供了一种新的方式来处理I/O操作,相比传统的IO流,NIO提供了非阻塞的、基于事件驱动的I/O模型,更适合于高并发的网络通信场景。在Java NIO中,主要涉及以下...

    niodemo.zip

    Java NIO,全称为Non-Blocking Input/Output(非阻塞输入/输出),是Java标准库提供的一种替代传统I/O(BIO)模型的新技术。NIO在Java 1.4版本中引入,旨在提高I/O操作的效率,特别是在处理大量并发连接时。与传统的...

    Java NIO Socket基本

    `java.nio.Selector`是选择器的主要接口。 4. **管道(Pipe)**:在某些特定情况下,两个线程之间可以使用`java.nio.Pipe`进行单向数据传递。 5. **文件系统API**:NIO还提供了`java.nio.file`包,包含一系列与...

    java NIO 开发技术

    而Java NIO通过引入选择器(Selector)和通道(Channel)解决了这个问题。NIO中的通道是双向的,可以用于读写操作,例如`SocketChannel`和`ServerSocketChannel`。选择器允许单个线程监视多个通道上的事件,比如接受...

    使用Java NIO编写高性能的服务器.doc

    import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import...

    自己写的Java NIO 同步不阻塞IO操作

    - `java.nio.channels.Selector`:通过`open()`方法创建,用于注册感兴趣的通道,并监听这些通道上的事件。 - `java.nio.ByteBuffer`:用于存储数据,支持直接内存访问,可以提高读写性能。 编写一个非阻塞的NIO ...

    Java-NIO类库Selector机制解析.docx

    "Java NIO Selector 机制解析" Java NIO(New I/O)类库是Java 1.4版本以后引入的新一代I/O机制,相比传统的I/O机制,NIO提供了高效、异步、多路复用的I/O操作模式。Selector机制是NIO类库中的一种核心机制,用于...

Global site tag (gtag.js) - Google Analytics