我有一个问题需要解决,以下是问题的解释:
这个问题必须使用线程和信号量来实现。
发布于 2013-12-15 21:12:06
建议:
( 1)我会有一个老师线程和N个学生线程(就像您一样)。
2)我想要一个信号量。
3)我将有一个椅子数组(您的“队列”);每个元素初始化为-1。
4)每当老师看到一个学生时,他都会锁上数组,挑选一个学生,“清理”椅子,并打开数组。
5)每次学生想要等待时,他都会检查是否有一张免费的椅子,锁上数组,“设置”椅子,并打开数组。
6)我会"malloc()",然后初始化,一旦你知道你会有多少学生,椅子就会排列。
7)如果是C++,“教师”、“学生”和“椅子”都是班级。
IMHO..。
https://stackoverflow.com/questions/20599776
复制相似问题