Too Error Prone!
Remember to start the thread
Remember to kill the thread
Solution: use a smart pointer object
ActiveObject * p = new MyActive (…);
// interact with the object
// p is garbage collected
<MyActive> p (new MyActive (…));
The calls to ResumeThread and Kill are not optional. Making them client’s responsibility is asking for trouble. Also, we don’t want the client to call delete.