Visual C++ .NET/Thread/Thread Definition

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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");
}