在 C (Linux) 中为线程添加优先级,而无需忙于等待



我的作业中有一个优先级问题。某些线程的优先级高于其他线程,其他线程必须等待访问文件,直到所有这些线程完成其工作。我们不允许使用忙碌的等待。有没有另一种解决方案可以解决这个问题。谢谢。

是的,好的,就像我的评论一样。

低优先级线程在访问文件之前必须等待(初始化为零(信号量。 高优先级线程在完成 tbe 文件处理后,必须获取互斥锁,对高计数检查进行计数,然后释放互斥锁。 找到零的最后一个高线程应向信号量发出 [低计数] 单元,从而释放所有低线程。

实际上,具有状态数据的互斥保护结构可以处理您的教授可以提出的任何奇怪的锁定/排序/优先级方案,无论它首先消耗多少龙舌兰酒:(

最新更新