关闭
当前搜索:

AIO 简介

Linux的I/O机制经历了一下几个阶段的演进: 1. 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。 2. 同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。 3. 异步事件阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻塞。通过select/poll/epoll等...
阅读(233) 评论(0)

关于同步,异步,阻塞,非阻塞,IOCP/epoll,select/poll,AIO ,NIO ,BIO的总结

IO基本概念 Linux环境 Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字(可以理解为一个索...
阅读(445) 评论(0)

JDK7 AIO初体验实例

JDK7已经release一段时间了,有个重要的新特性是AIO。 今天趁闲暇,简单体验了下,简单分享如下: 关于AIO的概念理解  关于AIO的概念,仅谈谈个人的一点理解。可能不到位,请大家指出。 Io的两个重要步骤:发起IO请求,和实际的IO操作。在unix网络编程的定义里异步和非异步概念的区别就是实际的IO操作是否阻塞。如果不是就是异步,如果是就是同步。 而阻塞和非阻塞的...
阅读(495) 评论(0)

JAVA AIO 服务器与客户端实现示例

AIO用于文件处理还是比较快乐的,但用AIO来写网络消息处理服务器端与客户端是比较麻烦的事情,当然这只是我个人意见,主要是有几点原因: 一是AIO需要操作系统支持,还好Windows与Linux(模拟)都支持; 二是AIO同时使用递归调用和异步调用容易把程序员搞晕,代码容易出错; 三是CompletionHandler会使用单独的线程跑,容易出现多线程问题,频繁线程上下文切换比较...
阅读(1040) 评论(0)

Aio--Java异步IO的 Socket Demo

我理解的 同步\异步操作 |  阻塞IO\非阻塞IO   同步阻塞   同步非阻塞    http://blog.csdn.net/xxb2008 异步非阻塞     [java] view plain copy   package com.vdebug.aio.socket;    ...
阅读(389) 评论(0)

Java AIO学习

转载Reactor and Proactor的内容 系统I/O 可分为阻塞型, 非阻塞同步型以及非阻塞异步型[1, 2]. 阻塞型I/O意味着控制权只到调用操作结束了才会回到调用者手里. 结果调用者被阻塞了, 这段时间了做不了任何其它事情. 更郁闷的是,在等待IO结果的时间里,调用者所在线程此时无法腾出手来去响应其它的请求,这真是太浪费资源了。拿read()操作来说吧, 调用此函...
阅读(337) 评论(0)
    个人资料
    • 访问:8654621次
    • 积分:72912
    • 等级:
    • 排名:第25名
    • 原创:258篇
    • 转载:2784篇
    • 译文:3篇
    • 评论:760条
    文章分类
    最新评论