August 01, 1999
Win32 Multithreading Made Easy
John Harrington
Multithreading logic is hard to write and hard to maintain. So keep it simple and separate.
August 1999/Win32 Multithreading Made Easy/Figure 1
/* =======================================================
Main.cpp
======================================================= */
#include "derived.h"
#include "multithread.h"
#include <iostream>
int main()
{
using namespace std;
const int nSize = 26;
int loop;
// Create threadable objects
Derived ObjectArray[nSize];
for (loop = 0; loop < nSize; ++loop)
{
// letters of the alphabet
ObjectArray[loop].SetChar('a' + (loop % 26) );
}
// Create threads
MultiThread ThreadArray[nSize];
for (loop = 0; loop < nSize; ++loop)
{
ThreadArray[loop].Initialize( &ObjectArray[loop], 10 );
ThreadArray[loop].Run();
}
// Wait until they finish
for (loop = 0; loop < nSize; ++loop)
{
ThreadArray[loop].WaitUntilDone();
}
cout << endl;
return 0;
}
1
|
2
|
3
|
4
Next Page