PPL。如何在同一工作线程上安排多个任务?

时间:2018-07-20 08:34:11

标签: c++ ppl concurrency-runtime

我需要知道如何控制在哪个工作线程Concurrency::task上运行。

想象一下,如果我有以下代码:

#include <ppltasks.h>
#include <iostream>
#include <mutex>

int main()
{
    std::mutex mtx;

    Concurrency::create_task([&mtx]
    {
        mtx.lock();
        std::cout << "Task 1. Thread id: " << std::this_thread::get_id() << std::endl;
        mtx.unlock();
    });

    Concurrency::create_task([&mtx]
    {
        mtx.lock();
        std::cout << "Task 2. Thread id: " << std::this_thread::get_id() << std::endl;
        mtx.unlock();
    });

    std::getchar();

    return 0;
}

我如何确保两个任务都将在相同的工作线程上运行?

0 个答案:

没有答案