c++ - C++ 中的优先级队列
问题描述
我正在我的一个边缘评估板上进行实时对象检测,并且对 C++ 应用程序代码中优先级队列的使用有疑问
设想:
我正在使用多个线程(比如 4)来读取(1)、对象检测(2)和显示任务(1)。作为参考,我正在关注此处提供的代码object detection on multiple threads。在代码中,我不明白显示任务的优先级队列是如何定义的。这是代码示例,
#include <opencv2/opencv.hpp>
#include <queue>
using namespace std;
using namespace cv;
// comparison algorithm for priority_queue
class Compare {
public:
bool operator()(const pair<int, Mat> &n1, const pair<int, Mat> &n2) const {
return n1.first > n2.first;
}
};
queue<pair<int, Mat>> read_queue; // read queue
priority_queue<pair<int, Mat>, vector<pair<int, Mat>>, Compare> display_queue; // display queue
我不明白类比较等的用法。
提前致谢
解决方案
推荐阅读
- file - 读写文件时如何修复“FileSystemException:无法打开文件”?
- html - 如何自动播放有声音乐
- authorize.net - Authorize.Net 托管表单:重定向后如何验证付款成功
- python-3.x - 如何转换 numpy 子数组的 dtype?
- dropbox - 如何响应 Dark 中的 Dropbox webhook 挑战?
- postgresql - pq:重复键值违反唯一约束“pg_type_typname_nsp_index”
- html - 仅在背景的一部分上设置背景颜色
- delphi - 如何在服务器活动时绑定新的服务器绑定
- excel - 按数字顺序在页面上写下重复的数字。(图片可能更有意义。)
- python-3.x - 如何删除python中的空格