我有一些麻烦,在我的操作系统类家庭作业写Pseduocode,我们正在编程C.的伪码生产者消费者同步
您将实现生产者 - 消费者与程序N个元素,P个生产者线程和C个消费者线程的有界缓冲区队列(N,P和C应该是程序的命令行参数,以及三个附加参数X,Ptime和Ctime,下面将对此进行描述)。 每个
生产者线程应该在队列中排队X个不同的数字(在每次调用Enqueue之间旋转等待Ptime * 100,000个周期)。每个消费者线程
应该使队列中的P * X/C项出队(在每次调用Dequeue之间旋转等待Ctime * 100,000个周期 )。主程序应该创建/初始化 界缓冲队列,打印时间戳,产卵关C消费者线程& P
生产者线程,等待所有线程完成,然后打印出来另一个 时间戳&执行持续时间。
我的主要困难是理解我的教授通过自旋等待变量的次数达到100,000次。我用粗体显示了令我困惑的部分。
我知道一个时间戳将用于打印每个线程之间的差异。我们目前正在使用信号量和实现同步。任何建议上述查询将不胜感激。
该死的很好的答案......但是:假设没有人理解这个问题是安全的,特别是问了这个问题的教授;-) – corlettk