以文件 handle 作为激发机制,有一个明显的限制,那就是没办法说出到底是哪一个 overlapped 操作完成了.如果每个文件 handle 只有一个操作等待决定,上述问题其实并不成为问题.但是如我稍早所说,系统有可能同时接受数个操作,而它们都使用同一个文件 handle.于是很明显地,为每一个可能正在进行中的 overlapped 操作调用 GetOverlappedResult(),并不是很有效率的做法.毫不令人惊讶,Win32 提供了一个比较好的做法,用以解决这样的问题.    OVE…
最简单的 overlapped I/O 类型,是使用它自己的文件 handle 作为同步机制.首先你以 FILE_FLAG_OVERLAPPED 告诉 Win32 说你不要使用默认的同步 I/O.然后,你设立一个 OVERLAPPED 结构,其中内含"I/O 请求"的所有必要参数,并以此识别这个"I/O 请求",直到它完成为止.接下来,调用 ReadFile() 并以 OVERLAPPED 结构的地址作为最后一个参数.这时候,理论上,Win32 会在后台处理你的请求…
这一章描述如何使用 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() 可以用来打开各式各…
一.Serializable类(JAVA本身具有的) 简介:Serializable是一个接口. 作用:是JAVA提供的序列化接口,实现序列化和反序列化的操作. 二.跨进程使用 1.事前准备 public class Book implements Serializable { //注:此段可写也可不写 —— 稍后讲解 ① private static final long serialVersionUID = 13165131351L; private String mBookName; pr…
同步机制摘要Critical Section Critical section(临界区)用来实现"排他性占有".适用范围是单一进程的各线程之间.它是:  一个局部性对象,不是一个核心对象.  快速而有效率.  不能够同时有一个以上的 critical section 被等待.  无法侦测是否已被某个线程放弃.Mutex Mutex 是一个核心对象,可以在不同的线程之间实现"排他性占有",甚至即使那些线程分属不同进程.它是:  一个核心对象. 如果拥有 mutex 的…
2.1  创建新的数据类型:类 通过第一章掌握了面向对象的理论后,我们知道每个对象必定属于一个类型,那么Java如何创建新的数据类型?如下程序所示: class Circle { // 属性 // 方法 } 如上所示,使用关键字class定义了类Circle,用花括号{ }将整个类包括起来.当然,这个类还不能做任何事,它还需要定义一些属性和方法. 2.2  属性和方法 面向对象的一个特性就是将数据和方法结合起来.比如对一个圆抽象,可见圆有它的属性半径,它还有方法,如告诉我们它的周长和面积.不光是…
  第七章 事件处理 7.1 典型用法 作者首先给了个我们一个处理事件的方法.看起来也没啥俩样,不过后来给出的优化方法很值得学习: // 不好的写法 function handleClick(event) { var popup = document.getElementById("popup"); popup.style.left = event.clientX + "px"; popup.style.top = event.clientY + "px&…
客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节同样涵盖重要的web应用所需要的网络编程API.本地存储和检索数据.画图等.主要包含内容有以下章节: web浏览器中的javascript / window对象 /  脚本化文档 /  脚本化css / 事件处理 / 校本化http / jQuery类库 / 客户端存储  /  多媒体和图形编程 /…
写在本章内容前: 第十五章:事件处理 涉及到到较多的文字篇幅,介于个人精力问题,暂不更新.主要包含的内容有事件类型.注册事件处理程序.事件处理程序的调用.文档加载事件.鼠标事件.鼠标滚轮事件.拖放事件.文本事件.键盘事件等9块内容.感兴趣的朋友可以留言传内容PDF.如果不着急的话,后期可能更新.敬请关注. 超文本传输协议(HTTP)规定web浏览器如何从web服务器获取文档和向web服务器发送表单内容,以及web服务器如何响应这些请求和提交.web浏览器会处理大量的HTTP.通常,HTTP并不在…