最简单的 overlapped I/O 类型,是使用它自己的文件 handle 作为同步机制.首先你以 FILE_FLAG_OVERLAPPED 告诉 Win32 说你不要使用默认的同步 I/O.然后,你设立一个 OVERLAPPED 结构,其中内含"I/O 请求"的所有必要参数,并以此识别这个"I/O 请求",直到它完成为止.接下来,调用 ReadFile() 并以 OVERLAPPED 结构的地址作为最后一个参数.这时候,理论上,Win32 会在后台处理你的请求…
以文件 handle 作为激发机制,有一个明显的限制,那就是没办法说出到底是哪一个 overlapped 操作完成了.如果每个文件 handle 只有一个操作等待决定,上述问题其实并不成为问题.但是如我稍早所说,系统有可能同时接受数个操作,而它们都使用同一个文件 handle.于是很明显地,为每一个可能正在进行中的 overlapped 操作调用 GetOverlappedResult(),并不是很有效率的做法.毫不令人惊讶,Win32 提供了一个比较好的做法,用以解决这样的问题.    OVE…
这一章描述如何使用 overlapped I/O(也就是 asynchronous I/O).某些时候 overlapped I/O 可以取代多线程的功用.然而,overlapped I/O 加上completion ports,常被设计为多线程处理,以便在一个"受制于 I/O 的程序"(所谓 I/O bound 程序)中获得高效率.    译注    深层讨论 Win32 平台(WinNT 和 Win95)的 File Systems 和 Device I/O 的书籍极少.Advan…
Win32 之中有三个基本的函数用来执行 I/O,它们是:        i CreateFile()        i ReadFile()        i WriteFile()    没有另外哪一个函数用来关闭文件,只要调用 CloseHandle() 即可.本章对于这些函数将只涵盖其与 overlapped I/O 有关的部分,至于其他和文件 I/O有关的部分,请参考 Win32 Programmer's Reference.        CreateFile() 可以用来打开各式各…
本章回答了如下几个问题: ◆ 什么是Overlapped I/O?为什么需要Overlapped I/O?如何让数据传输支持Overlapped I/O? ◆ 数据传输结束后,Win32提供了哪些方式对用户进行通告,以便进行适当的善后? ◆ 影响线程优先级的因素有哪些?如何获取或设置进程线程优先级?优先级的改变容易带来哪些问题?又该如何应对? ◆ 什么是被激发的文件句柄?什么是被激发的事件?什么是异步进程调用(APCs)?这些方式各是如何实现Overlapped I/O的?各有何优缺点? ◆ 使…
异步设备IO:OVERLAPPED和IOCompletionPort 本文内容为<windows核心编程>第10章内容的总结,仅记录一些本人感兴趣的内容. 1:OVERLAPPED "overlapped"的意思是执行IO请求的事件与线程执行其他任务的时间是重叠的(overlapped). overlapped是执行设备异步IO的基础.overlapped结构定义如下: Descriptio:Contains information used in asynchronous…
第三章 红帽企业linux 获取帮助 (略) man .pinfo. 第四章 编辑文件 1.输出重定向到文件和程序 >file    定向文件(覆盖) >>file   定向文件(附加) 2>file   定向错误文件 2>/dev/null  定向错误信息丢弃 &>file   合并文件 练习命令 date > 1             日期放到1 ls -a > 2            文件信息放到2 cat 1 2 > 3      …
You can perform either synchronous or asynchronous (also called overlapped) I/O operations on files, named pipes, and serial communications devices. The WriteFile, ReadFile, DeviceIoControl, WaitCommEvent, ConnectNamedPipe, and TransactNamedPipe func…
The C10K problem [Help save the best Linux news source on the web -- subscribe to Linux Weekly News! ] It's time for web servers to handle ten thousand clients simultaneously, don't you think? After all, the web is a big place now. And computers are …
1.  综述 第2章的部署SQL Server Compact和第9章的部署数据库更新里解释了为什么终于要升级到完整版SQL Server .本章节将告诉你怎样来做. SQL Server Express和完整版SQL Server 一旦你决定使用完整版SQL Server.你须要在开发和測试环境使用SQL Server Express 或者完整版SQL Server.在工具支持和数据库引擎功能上,SQL Server Compact 和其他版本号的SQL Server都是有差别的,能够导致不同…