Hecho, había que jugar con los future:
Código C++:
Ver originalfuture<void> t1[MAX];
for (short i = 0; i < MAX; i++)
{
tablero[i][Inicio.first][Inicio.second] = i+1;
t1[i] = (async(launch::async,Resolver,tablero[i],ref(preparado),ref(Casillas)));
}
short Contador;
future_status estado;
while (true)
{
for (short i = 0; i < MAX; i++)
{
estado =t1[i].wait_for(chrono::milliseconds(1));
if (estado == future_status::ready)
{
Contador = i;
cout<<"Ganador: "<<Contador<<endl<<endl<<endl;
goto fin;
}
}
}
fin: