【发布时间】:2013-01-19 09:23:26
【问题描述】:
是否有一个 c++ 多线程库,其中有一个队列可以包含必须等待其他作业完成的作业。线程池正在处理队列中的所有作业。
我想编写一个多线程 c++ 程序来生成和使用放置在队列中的作业,只有其中一些作业只有在其他一些作业已经处理后才能处理。
类似于在 qsub(网格队列管理器)中,您可以将作业放入队列中,并且必须保持直到其他作业完成。
【问题讨论】:
-
then功能怎么样?即,线程池中的每个作业都从线程池提供future,如果您想在特定作业完成时将新作业排入队列,您只需将then附加到运行的future上(谁在乎在哪里)当future准备好时?然后它将“依赖作业”排入线程池。 -
你做过任何研究吗? TBB、PPL、Boost Thread、std::packaged_task 和 std::future 等。
-
@Yakk 哪个(非标准?)实现提供了
then? -
我的主要编程语言是 Java,我是 c++ 中的多线程新手(我有一些 Java 经验)。 Frome sehe 的帖子我收集到这种队列和多线程在 C++ 中是可能的。我将使用提到的库自己搜索教程。但是非常感谢任何好的教程链接。
-
在依赖的作业结束时提交依赖作业?
标签: c++ multithreading queue jobs