1 实验一生产者消费者问题一、实验目的1.掌握进程(线程)的同步与互斥
2.掌握生产者消费者问题的实现方法
3.掌握多线程编程方法
二、相关函数VC 提供一系列函数用于实现多线程编程以及线程的互斥与同步
(1)创建线程HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes,DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId); 该 函 数 在 其 调 用 进 程 的 进 程 空 间 里 创 建 一 个 新 的 线 程 , 并 返 回 已 建 线 程 的 句 柄 , 其 中 各参 数 说 明 如 下 :lpThreadAttributes: 指 向 一 个SECURITY_ATTRIBUTES 结 构 的 指 针 , 该 结 构 决 定 了 线程 的 安 全 属 性 , 一 般 置 为NULL ;dwStackSize: 指 定 了 线 程 的 堆 栈 深 度 , 一 般 都 设 置 为 0;lpStartAddress:表 示 新 线 程 开 始 执 行 时 代 码 所 在 函 数 的 地 址 ,即 线 程 的 起 始 地 址
main()函 数 是 主 线 程 的 入 口 函 数 , 同 样 , 新 创 建 的 线 程 也 需 要 一 个 入 口 函 数 , lpStartAddress就 是 指 示 该 函 数 的 地 址
并 且 这 个 函 数 的 定 义 应 遵 循 下 面 的 声 明 形 式DWORD WINAPI ThreadProc(LPVOID lpParameter);lpParameter: 指 定