Tengo un código así:
Código
#include <iostream>
#include <thread>
#include <Windows.h>
using namespace std;
void firstfor(int* x2)
{
for(int x = 0; x <= 9999; ++x)
{
*x2 = x;
Sleep(20);
}
cout << "\nThis for has finished!" << endl;
}
int main(void)
{
int x = 0;
int y = 1;
thread funcion1(firstfor, &x);
while(1)
{
cout << "Type either '1' or '0': "; cin >> y;
if (y == 0)
{
break;
}
else if(y == 1)
{
cout << "Currently the 'x' value is: " << x << endl;
Sleep(1000);
}
system("cls");
}
cin.get();
return 0;
}
Básicamente el programa te pide que ingreses ya sea el número 0 o 1 para ver qué valor tiene el valor de la variable 'x' actualmente, ya que dicha valor se está aumentado en un proceso diferente. Pero quiero saber cómo hacer para detener ese thread cuando el usuario ingrese el valor 0.


 
  




 Autor
 Autor
		


 En línea
									En línea
								

 Utilicé una variable booleana global para reconocer lo que había ingresado por teclado y tomar la decisión del for. Me quedó así:
 Utilicé una variable booleana global para reconocer lo que había ingresado por teclado y tomar la decisión del for. Me quedó así:



 
						