PPL. Как мне запланировать несколько задач в одном рабочем потоке?

Мне нужно знать, как я могу контролировать, какой рабочий поток 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 ответов

Другие вопросы по тегам