【发布时间】:2020-10-24 20:01:30
【问题描述】:
我需要开发操作系统的sleep() 和awake() 功能。
我有 runningJobs 队列和 sleepJobs 队列。 sleep 方法应该接收一个 Job 并将其插入到 sleep 队列中的正确位置,awake() 方法应该将准备运行的 sleep 作业移动到 runningJobs 队列。
- 不确定如何实现我的队列 - 我应该使用 PriorityQueue / LinkedList 队列吗?
- 排序列表/在队列中找到合适工作的最有效方法是什么?
-
awake()方法如何在不访问当前时间的情况下知道时间
【问题讨论】:
-
Java 操作系统? Unix 的
sleep()和awake()强烈对应于Object.wait()和Object.notify(),它们当然不包含任何排队或优先级。 -
对我来说,这个问题看起来像producer consumer problem,生产者生产新工作,消费者消费这些工作并处理它。如果有帮助,请告诉我
标签: java operating-system sleep