【发布时间】:2013-04-14 21:31:33
【问题描述】:
我正在优化 Nachos OS 中内核线程的定时器中断功能。
简介here。
我有一个类叫警报:
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>();
如何让优先队列比较告警类的wakeTime属性,并以此为基础生成最小堆。
在 C++ 中,我会重载 operator
bool operator<(alarms a, alarms b){return a.wakeTime < b.wakeTime ? true : false;}
但我不确定如何在 java 中使用比较器。有人可以澄清一下我将如何比较java中的wakeTime属性吗?我是否需要让我的警报类实现比较器类,或者我将如何去做?
感谢您的宝贵时间! 最好的问候,
【问题讨论】:
标签: java algorithm class data-structures operating-system