Starting Threads : Thread Definition « Thread « Visual C++ .NET






Starting Threads

 
#include "stdafx.h"
using namespace System;
using namespace System::Threading;

ref class MyThread
{
public:
    static void StaticThread();
    void NonStaticThread(Object ^name);
};

void MyThread::StaticThread()
{
    for (int i = 0; i < 500; i++)
    {
        if (i % 10 == 0)
            Console::WriteLine("Static Thread {0}", i.ToString());
    }
}

void MyThread::NonStaticThread(Object ^name)
{
    for (int i = 0; i < 500; i++)
    {

        if (i % 10== 0)
            Console::WriteLine("Member {0} Thread {1}",
            name,
            i.ToString());
    }
}

void main()
{
    ThreadStart ^thrStart = gcnew ThreadStart(&MyThread::StaticThread);

    Thread ^thr1 = gcnew Thread(thrStart);

    MyThread ^myThr = gcnew MyThread();
    Thread ^thr2 = gcnew Thread(gcnew ParameterizedThreadStart(myThr, &MyThread::NonStaticThread));

    thr1->IsBackground = true;
    thr1->Start();
    thr2->Start("Parameterized");
}

   
  








Related examples in the same category