我正在优化 Nachos OS 中内核线程的定时器中断功能。
介绍在这里。
我有一个名为警报的课程:
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>();
如何使优先级队列比较警报类的唤醒时间属性,并基于该属性生成最小堆。
在 C++ 中,我将重载 operator< 函数,如下所示:
bool operator<(alarms a, alarms b){return a.wakeTime < b.wakeTime ? true : false;}
但我不确定如何在 java 中使用比较器。有人可以澄清一下我将如何比较java中的wakeTime属性吗?我是否需要让我的警报类实现比较器类,或者我将如何去做?
感谢您的时间!此致,