【发布时间】:2020-06-26 16:50:15
【问题描述】:
我的作业中有一个优先级问题。一些线程比其他线程具有更高的优先级,而其他线程必须等待访问文件,直到所有这些线程完成它们的工作。我们不允许使用忙等待。有没有另一种解决方案来解决这个问题。谢谢。
【问题讨论】:
-
这有点乱。要管理的同步对象需要在启动任何高优先级线程之前控制所有低优先级线程。它需要知道高优先级线程的数量。完成文件后,高优先级线程必须调用对象。可以做到....
-
我的第一个想法是一个带有互斥锁的结构,(为了保护它的内部数据),一个初始化的高低线程总数,一个已经完成文件的高线程计数和一个信号孔低线程在开始文件之前必须等待。
-
使用 OO 语言会容易得多:)
标签: c linux multithreading synchronization thread-priority