Pagini recente » Cod sursa (job #2354225) | Cod sursa (job #2970041) | Cod sursa (job #1279312) | Cod sursa (job #2969832) | Cod sursa (job #1937450)
#include <fstream>
#include <future>
#include <queue>
#include <iostream>
using namespace std;
ifstream f("euclid2.in");
ofstream g("euclid2.out");
int gcd(int a,int b){if (b==0) return a; return gcd(b,a%b);}
int main()
{
int t,a,b;
f>>t;
std::queue<std::future<int>> futures;
int threads = 3;
int i = 0;
while(t--)
{
i++;
f>>a>>b;
/*if(i%threads==0)
{
while(!futures.empty())
{
futures.pop();
}
}*/
futures.push(std::async(std::launch::async,gcd,a,b));
g<<futures.front().get()<<'\n';
futures.pop();
}
/*while(!futures.empty())
{
g<<futures.front().get()<<'\n';
futures.pop();
}*/
return 0;
}