全文预览

操作系统_利用多线程模拟实生产者消费者问题_课程设计

上传者:非学无以广才 |  格式:doc  |  页数:26 |  大小:0KB

文档介绍
通过一些记录性变量,来记录模拟实现生产者的行为,通过输入语句的提示Р程序采用面向对象设计模式,缓存区采用数组结构存储。Рunsigned short 定义整形类的指针Рconst unsigned short 无符号短整型常量РDWORD WINAPI 返回 DWORD(32位数据)的 API 函数РCreateThread原型:РHANDLE CreateThreadР{Р LPSECURITY_ATTRIBUTES lpThreadAttributes;Р SIZE_T dwStackSize;Р LPTHREAD_START_ROUTINE lpStartAddress;Р LPVOID lpParameter;Р DWORD dwCreationFlags;РLPDWORD lpThreadId ;Р }Р三、详细设计Р3.1 生产者Р3.1.1生产一个产品Р 简单模拟了一下,仅输出新产品的ID号Рvoid Produce()Р{Р std::cerr << "\n"<<"生产一个产品产品ID号为: " << ++ProductID << " ... ";Р std::cerr << std::endl;Р}Р3.1.2 生产者РDWORD WINAPI Producer(LPVOID lpPara)Р{Р while(g_continue)Р?{Р WaitForSingleObject(g_hFullSemaphore,INFINITE);Р WaitForSingleObject(g_hMutex,INFINITE);Р Produce();Р Append();Р Sleep(1500);Р ReleaseMutex(g_hMutex);Р ReleaseSemaphore(g_hEmptySemaphore,1,NULL);Р }Р return 0;Р}

收藏

分享

举报
下载此文档