Using Processes and Threads
Using a multithreaded multiple document interface application
Creating a child process with redirected input and output
Changing environment variables
Using thread local storage