2008年8月11日

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

摘要: 事件内核对象可以反映某个时间是否完成,若未完成,则相关线程进入等待状态;若完成,则可以通知某些线程进入就绪状态。 阅读全文

posted @ 2008-08-11 13:40 小虎无忧 阅读(950) 评论(0) 推荐(0) 编辑

2008年8月10日

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

摘要: 等待函数让线程进入阻塞状态,等待某个事件发生或者某些资源释放,这些函数可以与内核对象配合使用,一同完成线程同步的处理。 阅读全文

posted @ 2008-08-10 22:33 小虎无忧 阅读(1618) 评论(2) 推荐(0) 编辑

2008年8月9日

《Windows via C/C++》学习笔记 —— 用户模式的“线程同步”之“条件变量”

摘要: 条件变量是Windows Vista中提供的一种处理线程同步的机制,可以与关键代码段和读写锁相互配合使用,通知某一个线程或者让某一个线程进入等待。 阅读全文

posted @ 2008-08-09 21:04 小虎无忧 阅读(2530) 评论(0) 推荐(0) 编辑

2008年8月8日

《Windows via C/C++》学习笔记 —— 用户模式的“线程同步”之“读写锁”

摘要: 读写锁是Windows Vista中新增的一种线程同步机制。该机制特别适合于“读者-写者”的线程同步问题。可以让一些读线程同时不修改地访问某些资源,让单个写线程在修改某些资源时独占这些资源。 阅读全文

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

2008年8月7日

七夕·暑假

摘要: 忽忽,今天是七夕,可惜她不在身边。 暑假的日子就那么波澜不惊,日子一天天地过。考研的准备还在继续进行之中。同时也随意看一些技术方面的书籍。 《Windows via C/C++》,恩,一本不错的书籍,随着纤程(不是线程)的结束,今天结束了本书了第二部分,看了下进度,是前40%结束了。整理工作才做到关键代码段,忽忽,后面的日子会抽空补上,不过貌似进度不快。 张逸先生的《软件设计精要与... 阅读全文

posted @ 2008-08-07 19:32 小虎无忧 阅读(377) 评论(0) 推荐(0) 编辑

《Windows via C/C++》学习笔记 —— 用户模式的“线程同步”之“关键代码段”

摘要: 关键代码段是一种高效的线程同步方法,可以用关键代码段保护某些共享资源,让线程一原子的方式访问之。 阅读全文

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

2008年8月6日

《Windows via C/C++》学习笔记 —— 用户模式的“线程同步”之“互锁函数族”

摘要: 互锁函数族是一系列API函数,它们提供了一种以原子方式访问资源的方法,防止因为多线程同时访问一个资源而导致该资源被破坏(比如丢失修改)的情况。互锁函数机制效率高,简单,通常适用于对单个变量进行保护。 阅读全文

posted @ 2008-08-06 13:36 小虎无忧 阅读(1871) 评论(2) 推荐(0) 编辑

2008年8月5日

《Windows via C/C++》学习笔记 —— 线程的相关性

摘要: 线程亲缘性主要是线程与CPU之间的关系。在多CPU计算机上,一个线程可以被任何CPU调度,可以通过一些API函数来限制线程只能在某个或某些CPU上调度从而获得最大的效率。 阅读全文

posted @ 2008-08-05 12:40 小虎无忧 阅读(5355) 评论(2) 推荐(1) 编辑

2008年8月4日

《Windows via C/C++》学习笔记 —— 线程优先级

摘要: 线程优先级决定了线程能否“尽快”被调度,这是线程的重要属性。Windows Vista是一个抢占式操作系统,一个高优先级的线程总是比低优先级的线程先调度,利用优先级,可以让某些线程完成一些特殊的功能。 阅读全文

posted @ 2008-08-04 12:48 小虎无忧 阅读(5433) 评论(4) 推荐(0) 编辑

2008年8月3日

《Windows via C/C++》学习笔记 —— 线程的CONTEXT结构

摘要: 线程内核对象中维护着一个重要的数据结构CONTEXT,该结构中保存着该线程最近一次在CPU内被执行的情况。在线程运行的时候,这些情况是保存在CPU内部的寄存器中的,当线程时间片到,状态由“运行”转入“就绪”的时候,这些寄存器中的数据会被保存到该CONTEXT结构中,比如线程执行到哪里了,内部数据是什么,等等。在线程调度之前,首先加载该CONTEXT结构中的数据。然后根据这些数据,线程开始运行。 阅读全文

posted @ 2008-08-03 00:12 小虎无忧 阅读(6481) 评论(0) 推荐(0) 编辑

导航