Shows how to use the Future class of ROOT as a wrapper of std::future.
#include <future>
#include <iostream>
#include <thread>
void mt305_TFuture()
{
std::packaged_task<int()> task([]() { return 7; });
std::thread(std::move(task)).detach();
TFuture<int> f2 = std::async(std::launch::async, []() {
return 8; });
std::promise<int> p;
std::thread([&p] { p.set_value(9); }).detach();
std::cout << "Waiting..." << std::flush;
f1.wait();
f3.wait();
std::cout <<
"Done!\nResults are: " << f1.get() <<
' ' << f2.
get() <<
' ' << f3.get() <<
'\n';
}
- Author
- Danilo Piparo
Definition in file mt305_TFuture.C.