2008年8月21日

《Windows via C/C++》学习笔记 —— 设备I/O之“I/O完成端口”

摘要: I/O完成端口是性能最高、扩充性最好的一种用来接受异步I/O请求完成通知的方法。上一篇中介绍的3个方法:通知一个设备内核对象、通知一个事件内核对象、告警I/O,在一些方面总是有缺点。如果需要更高性能和更高的可扩充性的方法的话,可以考虑“I/P完成端口”。 阅读全文

posted @ 2008-08-21 18:03 小虎无忧 阅读(2755) 评论(0) 推荐(0) 编辑

2008年8月20日

《Windows via C/C++》学习笔记 —— 设备I/O之“接收I/O请求完成通知”

摘要: 异步I/O请求的方法,必须要考虑的就是当I/O请求完成之后,如何来接收通知。Windows提供了多种方法来实现——通知设备内核对象、通知事件内核对象、告警I/O、I/O完成端口。其中,I/O完成端口是性能最高的方法,但是实现却比较复杂。本篇首先讨论前3种接受通知的方式。 阅读全文

posted @ 2008-08-20 22:28 小虎无忧 阅读(1527) 评论(0) 推荐(0) 编辑

2008年8月19日

《Windows via C/C++》学习笔记 —— 设备I/O之“异步设备I/O请求”

摘要: 设备I/O是最慢且最不可预测的操作之一。而异步设备I/O的优点就是可以不必等待I/O函数的返回,让线程能够继续做其他的事情,而在当设备I/O结束的时候,通知程序是否I/O操作完成或是否发生了错误。本篇主要讨论如何发送“异步I/O请求”,是设计高性能、可扩展程序的基本要素。 阅读全文

posted @ 2008-08-19 15:47 小虎无忧 阅读(2196) 评论(0) 推荐(0) 编辑

2008年8月18日

《Windows via C/C++》学习笔记 —— 设备I/O之“同步的设备I/O”

摘要: 设备I/O是与计算机进行交互十分重要的一种方法,设备I/O分为同步和异步两种方法,本篇主要讨论同步的设备I/O,其优点的实现方法简单,但是缺点就是只有在I/O请求完成之后与之相关的函数才会返回,否则只能等待,直到I/O请求完成,也就是性能比较低。 阅读全文

posted @ 2008-08-18 22:39 小虎无忧 阅读(1453) 评论(0) 推荐(0) 编辑

2008年8月17日

《Windows via C/C++》学习笔记 —— 设备I/O之“文件设备”

摘要: 文件是一个经常需要使用的,如何操作文件显得非常重要。 阅读全文

posted @ 2008-08-17 14:11 小虎无忧 阅读(4915) 评论(0) 推荐(1) 编辑

2008年8月16日

《Windows via C/C++》学习笔记 —— 设备I/O之“设备的打开和关闭”

摘要: 设备在Windows系统中的地位举足轻重。本问讨论了Windows有哪些设备,如何打开和关闭一个特定类型设备。 阅读全文

posted @ 2008-08-16 22:56 小虎无忧 阅读(3358) 评论(0) 推荐(1) 编辑

2008年8月15日

《Windows via C/C++》学习笔记 —— “线程同步”之“检测死锁”

摘要: 在多线程程序中,死锁是一个常见的问题,也是一个很棘手的问题。Windows Vista中提供了一个机制,来对死锁进行检测,叫做“Wait Chain Traversal”(等待链遍历)机制。 阅读全文

posted @ 2008-08-15 23:32 小虎无忧 阅读(2846) 评论(1) 推荐(0) 编辑

2008年8月14日

《Windows via C/C++》学习笔记 —— 内核对象的“线程同步”之“互斥内核对象”

摘要: 互斥内核对象确保线程以“独占”的方式访问某个或某些资源。这和关键代码段有点类似。但是当需要处理多个进程之间线程同步问题的时候,关键代码段就不能满足要求了,这个时候可以使用互斥内核对象。 阅读全文

posted @ 2008-08-14 17:47 小虎无忧 阅读(1011) 评论(0) 推荐(1) 编辑

2008年8月13日

《Windows via C/C++》学习笔记 —— 内核对象的“线程同步”之“信号量”

摘要: 信号量是用来给资源的计数的,可以用信号量来表示可用资源的个数。线程访问资源之前,要查看信号量可用资源的值,如果为0,则申请资源的线程进入阻塞状态;如果大于0则将其减1,该线程继续进行。当线程使用完成之后,信号量可用资源数加1,被阻塞的一个线程就可以进入就绪(可调度)状态。 阅读全文

posted @ 2008-08-13 18:14 小虎无忧 阅读(1172) 评论(0) 推荐(0) 编辑

2008年8月12日

《Windows via C/C++》学习笔记 —— 内核对象的“线程同步”之“等待定时器”

摘要: 等待定时器是一种“定时”发送通知的内核对象,当发送通知的时候,也就是其进入“已通知状态”的时候。它的作用主要就是“定时”,可以完成一些特殊的任务。 阅读全文

posted @ 2008-08-12 17:12 小虎无忧 阅读(2338) 评论(1) 推荐(0) 编辑

导航