我想要一个执行函数的优先级队列,而不是在弹出它时返回一个对象 - 但我希望在推送函数时设置函数指针和参数。完成此任务的最佳方法是什么?
我想出了
struct onpop {
int priority;
void (*do_on_pop)(char** args);
char** args;
struct onpop* next;
};
其中链表指针允许使用基本构建块进行相当复杂的链接。在此特定应用程序中,优先级实际上是struct timeval
类型,队列充当计时器。有没有更好的方法让我忽略了?