毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

利用信号量解决生产者消费者问题 第5页

更新时间:2008-4-5:  来源:毕业论文

利用信号量解决生产者消费者问题 第5页

 std::cerr << "Succeed" << std::endl;

}

5.2.6输出缓冲区当前的状态的函数:

    //输出缓冲区当前的状态

    for (int i=0;i<SIZE_OF_BUFFER;++i)

    {

       std::cout << i <<": " << g_buffer[i];

       if (i==in)

           std::cout << " <-- 生产";

       if (i==out)

           std::cout << " <-- 消费";

       std::cout << std::endl;

    }

}

5.2.7消耗一个产品的函数:

//消耗一个产品

void Consume()

{

    std::cerr << "Consuming " << ConsumeID << " *** ";

    std::cerr << "Succeed" << std::endl;

}

5.3生产者和消费者算法

5.3.1生产者算法:

//生产者

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;

}

5.3.2消费者算法:

//消费者

DWORD WINAPI Consumer(LPVOID lpPara)

{

    while(g_continue)

    {

       WaitForSingleObject(g_hEmptySemaphore,INFINITE);

       WaitForSingleObject(g_hMutex,INFINITE);

       Take();

       Consume();

       Sleep(1500);

       ReleaseMutex(g_hMutex);

       ReleaseSemaphore(g_hFullSemaphore,1,NULL);

    }

    return 0;

}

上一页  [1] [2] [3] [4] [5] [6] 下一页

利用信号量解决生产者消费者问题 第5页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。