// Threadeinführung_02.cpp: Hauptprojektdatei.

#include "stdafx.h"

using namespace System;
using namespace System::Threading;


void tueEtwas(int n)
{
	Thread::SpinWait(n * 10000000);
	Console::WriteLine(" Aufruf für " + n + " beendet.");
}

void h()
{
	for (int n = 0; n < 20; ++n)
	{
      tueEtwas(n);
	}
}

int main(array<System::String ^> ^args)
{
   Console::WriteLine("Programm gestartet");

   // Ausführung der Funktion h in einem eigenen Thread
   ThreadStart^ threadfkt = gcnew ThreadStart(h);
	Thread^ thread = gcnew Thread(threadfkt);
	thread->Start();  

   // Simulation einer weiteren Aufgabe im Hauptthread
   Console::WriteLine(" Hauptthread erledigt weitere Aufgaben");
   Thread::SpinWait(10000*100000);
   

   Console::WriteLine("Zum Beenden Eingabetaste druecken");
	Console::ReadLine();
   return 0;
}