实验五用线程解决N个哲学家问题.docVIP

  • 5
  • 0
  • 约3.11千字
  • 约 4页
  • 2019-01-03 发布于天津
  • 举报
实验五用线程解决N个哲学家问题.doc

实验五:用线程解决“N个哲学家”问题 姓名:邹受天 学号:22120051203895 完成日期:2008-1-2 姓名:叶剑媚 学号:22120051203933 完成日期:2008-1-2 一、实验内容 1、目的: 学习线程的编程和同步。 2、要求: 1)、程序语法 philosopher_th N [ -t time ] N是哲学家的个数(N = 2)。 time是哲学家进餐和沉思的持续时间值,缺省为2秒。 2)、哲学家的编号为0 ~ N-1,分别用N个线程独立模拟。 3)、程序的输出要简洁,例如,当编号为3的哲学家在进餐时,就打印: philosopher 3 is eating 而当他在沉思时,则打印: philosopher 3 is thinking 不要输出其他任何信息。 4)、使用pthread的semaphore.h提供的信号量同步线程。 二、具体设计 1、设计与实现的主要原理 在这个实验里,待解决的就是如何使用线程描述的问题。由于同一个进程中的所有线程共享相同的内存空间,因此可以使用全局变量表示叉子。但是,为了避免“时间”窗口,仍然必须使用“原子”操作进行互斥。可以使用在semaphore.h里说明的信号量完成这个需求,具体细节参考课件和联机文档。如果哲学家中同时存

文档评论(0)

1亿VIP精品文档

相关文档