【问题标题】:winrt c++ tasks queuewinrt c++ 任务队列
【发布时间】:2015-04-26 18:55:54
【问题描述】:

我需要在 c++/cx 中创建一个任务队列,但由于我的经验不佳,我不知道如何。
目的是:
- 使用 lambda 在某个线程中创建任务 ("task1 = [] () {}")
- 然后将此任务添加到任务队列中,任务队列在其他线程中执行
- 当任务期望它排队时,它不执行
- 仅在先前执行的任务之后执行的任务

据我所知,当您使用 auto a = concurrency::create_task(lambda) 时,它会立即启动。此类任务的延迟启动需要指向上一个任务的指针,但我无法将其作为我的任务在单独的线程中生成。

那么有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: c++ multithreading windows-runtime


    【解决方案1】:

    似乎正确使用std::task_group 可以解决我的问题。
    另外std::task_handle 在创建时不执行,所以使用它也可以解决我的问题,但它需要自己的队列。

    【讨论】: