1. 实验目的

加深对信号量的理解,以及用信号量来实现进程互斥功能。

2. 实验内容

在服务器上用Vim编写一个程序,使用信号量解决经典IPC问题:生产者和消费者问题。

  • 实现循环队列来模拟缓冲池
  • 创建10个生产者。对于每个生产者,操作10000次,每次操作,往循环队列写入1个数
  • 创建10个消费者。对于每个消费者,操作10000次,每次操作,从循环队列移除一个函数(pop

线程创建函数:pthread_create(3): create new thread - Linux man page

在指定文件编写代码:

  • 在文件circular_queue.hcircular_queue.c中实现循环队列
  • 在文件semaphore.h实现信号量创建、加锁、解锁操作,你们在进程同步实验已完成,拷过来直接用
  • 在文件producer_consumer_pv.c实现生产者和消费者问题

3. 实验要求

实验基本要求见:所有实验要求章节

截止时间:

  • 代码,实验课结束完成,由程序辅助判定
  • 实验报告,截止时间为实验课当天21:00

4. 评分

得分:

  • 本次实验:15分
    • 实现循环队列,得5分
    • 实现生产者和消费者问题,得10分
  • 评分由程序辅助判定+教师评分

5. 实验报告

实验报告模板

本文系Spark & Shine原创,转载需注明出处本文最近一次修改时间 2022-05-26 10:00

results matching ""

    No results matching ""