如何使用pthread库模拟CPU调度(多级队列)?

问题描述 投票:0回答:1

我想用pthread库模拟多级队列调度。

I will make 3 ready queues.The first queue has round-robin scheduling algorithm (time quantum = 2)The second queue has round-robin scheduling algorithm (time quantum = 5)The third queue has FCFS scheduling algorithm.

每个队列都有一个线程来调度进程。

队列优先级:第一队列>第二队列>第三队列。

我想知道如何给队列赋予优先级,这是关于使用semaphore的同步。

我希望优先级高的队列的线程先执行。

如何做到这一点?

谢谢阅读。

c pthreads cpu scheduling
1个回答
0
投票

引用维基百科的内容 p_queue"A priority queue 是一个抽象数据类型,类似于常规的 queuestack 数据结构,其中每个元素都有一个附加的 "优先级"。在优先级队列中,优先级高的元素比优先级低的元素先得到服务。

......优先级队列可以用堆或其他各种方法实现,如无序数组"

网络上有很多教程,如这里的.你可以使用堆来实现优先级队列,然后确定你在哪里有 症结 在源码中!只有这样,你才能通过使用mutex或simaphore或其他任何方法来保护和防止这些部分出现竞赛条件。只有这样,你才能通过使用mutex或simaphore或任何其他的方法来锁定这些部分,以保护和防止这些部分的竞赛条件。O.S同步 机制。

© www.soinside.com 2019 - 2024. All rights reserved.