Mega Code Archive

 
Categories / Visual C++ .NET / Thread
 

Thread Pooling

#include "stdafx.h" using namespace System; using namespace System::Threading; ref class MyThread { public:     void ThreadFunc(Object^ stateInfo); }; void MyThread::ThreadFunc(Object^ stateInfo) {     for (int i = 0; i < 10; i++)     {         Console::WriteLine("{0} {1}", stateInfo, i.ToString());         Thread::Sleep(100);     } } void main() {     Console::WriteLine("Main Program Starts");     MyThread ^myThr1 = gcnew MyThread();     ThreadPool::QueueUserWorkItem(         gcnew WaitCallback(myThr1, &MyThread::ThreadFunc), "Thread1");     ThreadPool::QueueUserWorkItem(         gcnew WaitCallback(myThr1, &MyThread::ThreadFunc), "Thread2");     Thread::Sleep(2000);     Console::WriteLine("Main Program Ends"); }