- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 (摘自windows核心编程之用内核对象进行线程同步)
内核对象即可处于触发状态,也可以处于未触发状态: 对于线程同步来说,这些内核对象要么处于触发(signaled),要么处于未触发(nonsignaled) 当线程正在等待的内核对象处于未触发的时候,线程不可调度。等待的内核对象被触发,线程就变成可调度状态。 9.1 等待函数: 等待函数使一个线程自愿进入等待状态,直到指定的内核对象被触发为止。
2014-06-18 16:31:14 494
原创 (摘自windows核心编程之用内核对象进行线程同步)
信号量内核对象(Windows核心编程 p.251) 信号量内核对象用来对资源进行计数。包含一个使用计数,还包含另外两个32位值:一个最大资源计数和一个 当前资源计数。 创建信号量内核对象函数: HANDLE CreateSemaphore( PSECURITY_ATTRIBUTE psa, LONG lInitialCount, LONG lMaximumCount, P
2014-06-18 16:30:00 369
原创 摘自windows核心编程之用内核对象进行线程同步
事件内核对象(p.236) 事件包含一个使用计数,一个用来表示事件是自动重置事件还是手动重置事件的布尔值,另一个 用来表示事件有没有被触发的的布尔值。 有两种不同类型的事件对象: 手动重置事件:当一个手动重置事件被触发的时候,正在等待该事件的所有线程都将变成可调度的状态。 自动重置事件:当一个自动重置事件被触发的时候,只有一个正在等待该事件的线程会变成可调度的状态
2014-06-18 16:28:49 357
原创 (摘自windows核心编程之用户模式下的线程同步)
8.4关键段: 关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。 函数功能:初始化 函数原型: void InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection); 函数说明:定义关键段变量后必须先初始化。 函数功能:销毁 函数原型:
2014-06-18 16:27:09 389
原创 摘自(windows核心编程之线程基础)
线程两个组成部分: 一个是线程的内核对象,操作系统用它管理线程。 一个是线程栈,用于维护线程执行时所需要的所有函数和局部变量。 线程描述了进程内部的一条执行线路。 每次初始化进程时,系统都会创建一个主线程。这个线程首先会执行C/C++运行库的启动代码,后者调用 入口点函数(_tmain或_tWinMain),并继续执行,直至入口点函数返回C/C++运行库的启动代码,后者最终 调
2014-06-18 16:21:53 447
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人