Figure 1: An example application
/* ======================================================= 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; }