/*
	Debug su https://onlinegdb.com/Skgmy5bR4
*/
#include <iostream>
#include <thread>
using namespace std;
void Procedura1();
void Procedura2();
int somma1 = 0;
int somma2 = 0;
int main(void) {
	// Includiamo la libreria thread per usufuire della programmazione concorrente.
	// Le procedure si avvieranno immediatamente.
	thread P1(Procedura1);
	thread P2(Procedura2);

	cout << "Il thread 1 ha ID = " << P1.get_id() << endl;
	cout << "Il thread 2 ha ID = " << P2.get_id() << endl << endl;

	P1.join();
	P2.join();

	cout << "Lavoro dei thread terminato." << endl << endl;

	int sommaComplessiva = somma1 + somma2;
	cout << "Il risultato della somma e' pari a " << sommaComplessiva << endl;

	getchar();
	getchar();
	return 0;
}
void Procedura1()
{
	for (int i = 0; i < 200; i++)
	{
		somma1 += i;
	}
}
void Procedura2()
{
	for (int i = 0; i < 300; i++)
	{
		somma2 += i;
	}
}