http://segmentfault.com/a/1190000003063859#articleHeader6 原文同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的ne....
分类:
系统相关 时间:
2015-12-14 16:22:47
阅读次数:
262
传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速 缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队 列,而...
分类:
系统相关 时间:
2015-11-13 13:18:22
阅读次数:
271
io模型: 同步IO: 阻塞形式,非阻塞形式(轮询)、信号驱动IO、IO复用(select, poll, epoll); 异步io:aio_read()典型场景: 1、客户端处理多种IO-------标准io 和网络io(套接字) 2、server端既要处理监听套接字又要处理已连接的套接字 ...
分类:
其他好文 时间:
2015-11-08 22:21:43
阅读次数:
267
【linux 同步IO: sync、fsync与fdatasync】 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要....
分类:
系统相关 时间:
2015-10-12 22:28:58
阅读次数:
256
系统间通信本来是一个很大的概念,我们首先重通信模型开始讲解。在理解了四种通信模型的工作特点和区别后,对于我们后文介绍搭建在其上的各种通信框架,集成思想都是有益的。 目前常用的IO通信模型包括四种(这里说的都是网络IO):阻塞式同步IO、非阻塞式同步IO、多路复用IO、和真正的异步IO。这些IO模式都是要靠操作系统进行支持,应用程序只是提供相应的实现,对操作系统进行调用。...
分类:
编程语言 时间:
2015-09-30 09:47:59
阅读次数:
311
系统间通信本来是一个很大的概念,我们首先重通信模型开始讲解。在理解了四种通信模型的工作特点和区别后,对于我们后文介绍搭建在其上的各种通信框架,集成思想都是有益的。
目前常用的IO通信模型包括四种(这里说的都是网络IO):阻塞式同步IO、非阻塞式同步IO、多路复用IO、和真正的异步IO。这些IO模式都是要靠操作系统进行支持,应用程序只是提供相应的实现,对操作系统进行调用。...
分类:
编程语言 时间:
2015-09-19 09:45:07
阅读次数:
362
先来个例子理解一下概念,以银行取款为例: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给...
分类:
编程语言 时间:
2015-09-18 15:42:31
阅读次数:
182
首先两个区别:同步(synchronized)、异步(asynchronized)IO的区别:多个IO事件,轮询处理就是同步IO;分时间片处理就是异步IO。阻塞、非阻塞:阻塞意思是IO要彻底完成;非阻塞是说操作后立即返回状态码,不等IO完成。一般来说,IO分为下面这几类:Blocking IO同步阻...
分类:
其他好文 时间:
2015-09-02 22:01:08
阅读次数:
283
10.3 执行同步设备I/O(1)对设备读写操作的函数 ①ReadFile/WriteFile函数参数描述hFile文件句柄pvBuffer指向要接收文件数据的缓冲区或把缓冲区数据写入设备nNumbytesToRead要读取的字节数或写入的字节数pdwNumBytes实际读取的字节数或写入的字节数....
分类:
其他好文 时间:
2015-08-27 22:45:21
阅读次数:
188
会阻塞的函数:connect,accept,send/recv/sendto/recvfrom等读写函数.不会阻塞的函数:bind, listen,socket, closesocket.linux网络通信模型有:阻塞IO模型(同步),非阻塞IO模型(拷贝同步),IO复用模型(多线程同步),信号驱动...
分类:
系统相关 时间:
2015-08-19 00:28:26
阅读次数:
206