在c++中使用标准串行调度队列
Use a Standard Serial Dispatch Queues in C++?
我想写一个玩具应用程序,它将从1个实例开始,直到达到5fps。实例有一个run()方法,运行时间为1ms。因此,代替实际的线程,我想使用串行调度队列来接受任务并执行它们。我有一个多核机器,我不喜欢锁定,如果我可以避免它。我不想写一个串行调度队列,但是否有一个c++ (0x?)标准串行调度队列我可以使用?
任务可以将自己重新加入,或者队列可以在每个元素之间循环。我无所谓
如果您想使用标准队列,但不使用锁,那么请寻找无锁队列实现。c++ 11中没有标准的无锁队列。
与其使用单个队列,为什么不使用每个核心/线程的任务向量并在它们之间循环?例如,如果您有4个CPU和线程,则为每个线程设置一个任务向量。在它们之间平均分配任务,然后迭代它们,就像你在最后一句循环评论中提到的那样。这将没有锁定,并将有相同的处理顺序保证(即没有),从多个线程队列将有。
相关文章:
- boost::进程间消息队列引发错误
- 如果我只是不访问queue_front节点的子节点,而是将它们推到队列中呢?还是BFS吗
- 如何在c++中实现处理器调度模拟器
- 使用CMake检测支持的C++标准
- 如何理解C++标准N3337中的expr.const.cast子句8
- Android NDK传感器向事件队列报告奇怪的间隔
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- C++优先级队列,按对象的唯一指针的特定方法升序排列
- 编译标准库类型
- 按对象的特定方法按升序排列的C++优先级队列
- 有没有办法检查标准库 c++ 中的队列何时已满?
- 从调度队列块 [ swift / c++ ] 创建线程
- 用管道在C++中创建调度队列/线程处理程序:FIFO溢出
- 为什么为我的对象类编译标准优先级队列失败
- 可视标准::队列内存消耗导致内存泄漏 - C++
- 标准::队列的基于范围的循环
- C++标准队列和矢量性能
- 我应该在高度动态的系统中使用优先级队列来调度任务(函数等)吗
- 在c++中使用标准串行调度队列
- 使用定时器队列的调度器