下载此文档

实验二-进程(线程)的同步与互斥(共8页).doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
实验二 进程(线程)的同步与互斥
一INITE为无限等待)。
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
(5) ReleaseSemaphore
功能——对指定信号量加上一个指定大小的量。成功执行则返回非0值
格式
BOOL ReleaseSemaphore(HANDLE hSemaphore,
LONG lReleaseCount,
LPLONG lppreviousCount );
参数说明
hSemaphore——信号量指针。
lReleaseCount——信号量的增量。
lppreviousCount——保存信号量当前值。
(6) ReleaseMutex
功能——打开互斥锁,即把互斥量加1。成功调用则返回0
格式
BOOL ReleaseMutex(HANDLE hMutex);
参数说明
hMutex——互斥量指针。
四、示例程序
//定义一个结构体用于存储线程的信息
struct ThreadInfo{
int serial; //线程号
char entity; //线程类别(生产者或消费者)
double delay; //等待时间
double persist; //操作时间
};
//生产者
void Producer(void *p)
{
//定义变量用于存储当前线程的信息
DWORD m_delay;
DWORD m_persist;
int m_serial;
//从参数中获得信息
m_serial=((ThreadInfo*)(p))->serial;
m_delay=(DWORD)(((ThreadInfo*)(p))->delay *INTE_PER_SEC);
m_persist=(DWORD)(((ThreadInfo*)(p))->persist *INTE_PER_SEC);
while( running ){
//P操作
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
cout<<"生产者线程 "<<m_serial<<" 请求生产."<<endl;
WaitForSingleObject(g_hEmptySemaphore,INFINITE);
cout<<"生产者线程 "<<m_serial<<" 请求独占缓冲区."<<endl;
WaitForSingleObject(g_hMutex,INFINITE);
Sleep(m_delay); //延迟等待
//生产一个产品
cout<<"生产者线程 "<<m_seria

实验二-进程(线程)的同步与互斥(共8页) 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mkjafow
  • 文件大小204 KB
  • 时间2022-03-22