Java 内核线程定时器中断的优先级队列实现
我正在优化Nachos操作系统内核线程的定时器中断功能 导言 我有一个叫做alarms的类:Java 内核线程定时器中断的优先级队列实现,java,algorithm,class,data-structures,operating-system,Java,Algorithm,Class,Data Structures,Operating System,我正在优化Nachos操作系统内核线程的定时器中断功能 导言 我有一个叫做alarms的类: public alarms(long wakeTime, KThread my_thread) { wakeTime=wakeTime; thread = my_thread; } public long getWakeTime() { return wakeTime; } public KThread get_my_thread() { return thread;
public alarms(long wakeTime, KThread my_thread)
{
wakeTime=wakeTime;
thread = my_thread;
}
public long getWakeTime()
{
return wakeTime;
}
public KThread get_my_thread()
{
return thread;
}
我还有一个基于最小堆的优先级队列:
Queue<alarms> my_alarms = new PriorityQueue<alarms>();
Queue my_alarms=new PriorityQueue();
如何使优先级队列比较alarms类的wakeTime属性,并基于该属性生成最小堆
在C++中,i将过载操作符<函数>:
bool运算符这就是您的操作方式
public class Alarm implements Comparable<Alarm> {
@Override
public int compareTo(Object o) {
Alarm a = (Alarm) o;
return this.wakeTime - a.wakeTime ;
}
}
公共类报警实现可比性{
@凌驾
公共整数比较对象(对象o){
报警a=(报警)o;
返回this.wakeTime-a.wakeTime;
}
}
这就是你要做的
public class Alarm implements Comparable<Alarm> {
@Override
public int compareTo(Object o) {
Alarm a = (Alarm) o;
return this.wakeTime - a.wakeTime ;
}
}
公共类报警实现可比性{
@凌驾
公共整数比较对象(对象o){
报警a=(报警)o;
返回this.wakeTime-a.wakeTime;
}
}
应该是报警,而不是人。应该是报警,而不是人。