Visual C++ .NET/Thread/Thread Definition

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

Starting Threads

<source lang="csharp">

  1. 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");

}

 </source>