Multithreading are very interesting part of programming languages. Visual C++ offers many ways to support multithreading. You can create thread easily using _beginthread function.
Critical Sections are Used to synchronize objects between multiple threads. In this example shows each thread must wait until the earlier thread finishes its task. Critical Sections are used in synchronizing multiple threads in single process.
For more details, visit at: http://www.softwareandfinance.com/Visual_CPP/MultiThread_CriticalSection.html