繁体   English   中英

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

[英]How to simulate CPU scheduling(multilevel queue) using pthread library?

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

我将制作 3 个就绪队列。 第一个队列有循环调度算法(时间量 = 2) 第二个队列有循环调度算法(时间量 = 5) 第三个队列有 FCFS 调度算法。

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

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

我想知道如何优先考虑队列。 这是关于使用信号量的同步。

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

怎么做?

感谢阅读。

引用 Wikipedia p_queue priority queue是一种类似于常规queuestack数据结构的抽象数据类型,其中每个元素还具有与之关联的“优先级”。在优先级队列中,具有高优先级的元素在具有高优先级的元素之前被提供低优先级

...优先级队列可以用堆或各种其他方法(例如无序数组)来实现”

web 充满了教程,例如这里 您可以使用堆实现优先级队列,然后确定源代码中关键部分的位置! 只有这样,您才应该通过使用互斥锁或信号量或任何其他操作系统同步机制锁定这些部分来保护和防止这些部分的竞争条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM