#include <iostream>
#include <future>
#include <thread>
#include <chrono>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> v {54,234,6,34,23,4,32,64,57,56,2345,31,421,34,6,547,45,7845,341,24,65,768,5,4,542,534,890};
std::cout<<std::is_sorted(v.begin(),v.end());
std::future<void> future = std::async(std::launch::async, [&v]()
{
std::sort(v.begin(), v.end());
});
std::cout<<std::is_sorted(v.begin(),v.end());
std::future_status status = future.wait_for(std::chrono::nanoseconds(123));
do {
if (status == std::future_status::timeout)
{
break;
}
} while (status != std::future_status::ready);
std::cout<<std::is_sorted(v.begin(),v.end());
}