Windows 内核模式下的线程同步
来源:互联网 发布:西门子plc编程教学 编辑:程序博客网 时间:2024/06/06 03:35
鉴于我的食言,这个月无法完成一些探索和文章的工作了,把以前研究的一点小东西贴上来充数。各位看官勿骂。
线程同步是很多帖子研究探讨过的话题,我认为写得比较好的一本书是《Windows 核心编程》,毕竟是微软的专家给出的详细的基于Windows的讲解,内容虽涉及很多Windows API,但是原理是相通的。
线程的同步我理解为有两个不同层次的同步:用户模式下的同步和内核模式下的同步。我暂且说说我对内核模式下的同步理解。二者的区别从系统级别上来讲,在于二者操作的对象在系统上的级别。从效率上来讲,用户模式下的同步性能要好于内核模式,因为内核模式需要创建、维护内核对象,这本身也是于效率、性能上有损的。
说到内核模式的线程同步,首先要说说内核模式下的等待函数:
•DWORDWaitForSingleObject(HANDLEhObject, DWORD dwMilliseconds)
WAIT_OBJECT_0
WAIT_TIME_OUT
WAIT_FAILED
•DWORDWaitForMultipleObjects(DWORDdwCount, CONST HANDLE* phObjects, BOOL bWaitAll, DWORD dwMilliseconds)
WAIT_OBJECT_0 + n
使用方式和返回值比较直白,不做赘述。等待系统句柄HANDLE的触发状态而已。有了这两个函数,就可以列举一下有那些用于同步的内核对象:Event,Samaphore,Mutex,WaitableTimer
0 0
- Windows 内核模式下的线程同步
- windows编程之内核模式下的线程同步
- 线程同步(2) - 内核模式下的线程同步
- 线程同步(2) - 内核模式下的线程同步
- Windows Via C/C++:内核模式下的线程同步——事件内核对象
- 内核模式下线程同步
- Windows线程同步—用户模式下的线程同步
- Windows Via C/C++:内核模式下的线程同步——WaitForSingleObject/WaitForMultipleObjects函数
- Windows Via C/C++:内核模式下的线程同步——概述
- Windows核心编程学习笔记(18)--内核模式下的线程同步1
- Windows核心编程学习笔记(19)--内核模式下的线程同步2
- Windows核心编程笔记(7)----内核模式下的线程同步
- Windows内核模式的线程同步之事件(Event)
- Chapter09-"内核模式下的线程同步"之等待函数
- Windows核心编程:用户模式下的线程同步
- windows 核心编程(用户模式下的线程同步)
- Windows核心编程:用户模式下的线程同步
- windows-用户模式下的线程同步(整理)
- rsync安装、配置、实例
- C# 取活动网卡IP地址
- python基础教程_学习笔记14:标准库:一些最爱——re
- css之FILTER:progid:DXImageTransform.Microsoft.Gradient使用
- 高并发的epoll+多线程
- Windows 内核模式下的线程同步
- vim
- Establishing a Backup Policy(摘自官网文档5.6)
- module_init 和 late_initcall 区别
- 快速排序与其中的划分算法
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解 mark
- 数组和指针要点
- JMX学习笔记(四):Notifications
- 扩展BeanUtils拷贝文件允许时间类型的值为空