home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power GUI Programming with VisualAge C++
/
powergui.iso
/
powergui
/
thread
/
improved
/
fixed.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1996-10-29
|
2KB
|
55 lines
/***************************************************************
* FILE NAME: fixed.cpp *
* *
* DESCRIPTION: *
* Sample program demonstrating how ImprovedThread and *
* ImprovedThreadFn classes solve problems demonstrated *
* in broken.cpp. *
* *
* COPYRIGHT: *
* Licensed Materials - Property of Solution Frameworks *
* Copyright (C) 1996, Solution Frameworks *
* All Rights Reserved *
***************************************************************/
#include <iostream.h>
#include <ithread.hpp>
#include <istring.hpp>
#include "improved.hpp"
struct MyClass {
void foo ( )
{
cout << "MyClass::foo called\n";
}
};
void main()
{
MyClass
myObject;
//IThreadMemberFn<MyClass>
ThreadableMemberOf<MyClass>
// Here's an IThreadFn object on the stack (seems reasonable).
memberFn1( myObject, MyClass::foo ),
// Here's an IThreadFn object allocated on the heap.
//*memberFn2( new IThreadMemberFn<MyClass>( myObject, MyClass::foo ) );
*memberFn2( new ThreadableMemberOf<MyClass>( myObject, MyClass::foo ) );
//IThread
ImprovedThread
thread1( &memberFn1 ),
thread2( memberFn2 );
#ifdef IC_PM
IThread::current().waitForAllThreads();
#else
IThread::current().sleep(1000);
#endif
// We have to delete the object we allocated, right?
delete memberFn2;
}