Могу ли я использовать одни и те же объекты std :: обещание и std :: future несколько раз? - PullRequest
4 голосов
/ 07 марта 2019

Можно ли использовать одни и те же объекты std::promise и std::future несколько раз?

Например, я хочу много раз отправить несколько значений из потока 1 в поток 2. Могу ли я использовать обещание / будущее несколько раз, и как это сделать потокобезопасным?

            std::promise<int> send_value;
            std::future<int> receive_value = send_value.get_future();

            std::thread t1 = std::thread([&]()
            {
                while (!exit_flag) {
                    int value = my_custom_function_1();
                    send_value.set_value(value);
                }
            });

            std::thread t2 = std::thread([&]()
            {
                while (!exit_flag) {
                    int value = receive_value.get();
                    my_custom_function_2(value);
                }
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...