文章目录
1.进程与线程
什么是内核对象?
程序与进程
线程
线程的运行
2.简单多线程示例
线程创建函数
HANDLE CreateThread (
SEC_ATTRS SecurityAttributes, //通常设置为NULL,该线程使用默认的安全性
ULONG StackSize,// 通常设置为0,默认使用与调用函数的线程相同的栈空间大小
SEC_THREAD_START StartFunction, //新创建的线程的入口函数,该参数指定这个函数的入口函数
PVOID ThreadParameter, //通过这个参数给创建的新线程传递参数
ULONG CreationFlags, //它可以是两个值中的一个:CREATE_SUSPENDED和 0。前者表示线程在创建后处于暂停状态,直到程序调用ResumeThread函数为止;如果为0,则线程在创建之后立即运行。
PULONG ThreadId); //Windows 2000以上的操作系统,该参数可以设为NULL
线程入口函数的声明形式
一个简单的多线程程序
Sleep函数
线程间的交替执行
3.线程同步
引言
火车站售票系统模拟程序
上述程序的隐患
原因分析
线程同步
线程同步原理
线程同步的方法
4.利用互斥对象实现线程同步
互斥对象
获得互斥对象所有权
释放互斥对象所有权
实例
5.利用临界区实现线程同步
临界区对象
相关API函数
实例