上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页
摘要: 鼠标作为windows乃至所有的图形操作系统不可缺少的输入设备,操作系统有了它软件的可运行性就大大弱化了,鼠标可完成了许多操作。 本节中我们将学习鼠标的一些基本的事件以及信息,众所周知,鼠标有移动,单击(按下,弹起),双击,右击,滚动等诸多事件,它们分别对应WM_MOUSEMOVE, WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONCLICK 阅读全文
posted @ 2012-06-16 10:53 zTercel 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 本例主要基于Vista 以后的版本开发的,线程池中的工作线程, 工作线程池实现框架代码如下:CreateThreadpoolWorkSubmitThreadpoolWorkWaitForThreadpoolWorkCallbacks 阅读全文
posted @ 2012-06-16 10:53 zTercel 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 等待对象用于在发送内核对象信号后或当指定的等待期间超时的时候调用回调函数。CreateThreadpoolWait 函数可用来创建等待对象。指向第一个参数中提供的回调函数的指针必须与 WaitCallback 函数的签名相匹配CreateThreadPoolWaitSetThreadPoolWaitWaitForThreadPoolWaitCallBacksCloseThreadPoolWait 阅读全文
posted @ 2012-06-12 23:00 zTercel 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 在同个进程中, 线程本地存储可以实现同一个线程内多个函数访问自己的私有数据,它有着以全局变量达不到的功能。 操作线程本地存储主要有:TLSAlloc 在进程中分配一个本地存储,并返回一个标示TLSSetValue 设置线程本地存储数据TLSGetValue 读取线程本地存储数据TLSFree 释放本地存储槽虽然不同线程都共用一个线程本地存储槽,但访问的数据不是同一个地方 阅读全文
posted @ 2012-06-12 23:00 zTercel 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 在我们前几节中讲述线程对象的例子, 我都是在一个线程中再创建一些线程并在这个线程中等待其他的线程结束, 这样做的原因在于不阻塞主线程造成界面不能更新无法显示的问题。 今天这一节中我们学了一个更好的方式, 通过Windows提供一个API: MsgWaitForMultipleObjects 这个API即可等待对象也可以等待Windows消息. 阅读全文
posted @ 2012-06-10 22:51 zTercel 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 在前面那一节中我们曾学习过线程的一些基本操作,如线程创建, 挂起,唤醒以及中断等, 线程除了这些操作外还有一个非常主要的操作就是优先级。 我在开发一些音频类软件时, 通常他们可以在后台, 但当系统很忙时会发现音频很卡声音时有时没有, 这时如果我将系统优先级高一些时这个问题得到解决, 同样这样的应用场景在用户体验方面比较多见, 就是系统再忙不能让用户感觉在忙。 windows 对线程有优先级API主... 阅读全文
posted @ 2012-06-09 23:22 zTercel 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Windows 提供了一个线程安全的引用计数, 确保线程之间自减自加是安全即线程访问时其他线程不能访问,系统主要有两个API: InterLockedIncrement InterLockedDescrement 阅读全文
posted @ 2012-06-08 19:27 zTercel 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 信号量可实现同一时刻多个线程同时访问一个资源,当同一时刻只有一个线程在访问时它就和互斥量是一样的,所以有时说信号量是Mutex的退化版。它也是系统内核对象. 系统提供相关的API有:CreateSemaphoreOpenSemaphoreReleaseSemaphoreWaitForSingleObject/WaitForMultipleObjectsCloseHandle 阅读全文
posted @ 2012-06-08 19:27 zTercel 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 事件是我们目常编程中用于实现线程同步通讯最多的对象. 事件也是内核对象具有跨进程通讯的能力。 可用于设计更复杂的同步对象。 系统提供相关API有:CreateEventOpenEventSetEventResetEventPulsEventWaitForSingleObjectCloseHandle 阅读全文
posted @ 2012-06-07 09:53 zTercel 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 互斥量和上节所学的Critical section 功能是一样的,都具有排他性,确保同一时刻只能一个线程访问共享资源。但互斥量最大的不同还在于互斥量是系统内核对象,除了实现同一进程内线程之问的互斥外(但性能上是临界区的300倍)还可以实现不同进程间线程通讯, 阅读全文
posted @ 2012-06-05 22:26 zTercel 阅读(131) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页