When the frame rate in my game drops, controls become awkward and unresponsive. To solve this problem, I've thought of separating the CPU-intensive drawing routines from the other routines (controls, movement, etc.) into multiple threads. That is, I want to put all the function calls for drawing on one thread, and all the movement, controls (keyboard input basically), etc. on the main thread.

I've searched for tutorials though all I see are tutorials that use C++ or C# instead of just plain C. They also seem to be geared toward Linux, Unix, or some other operating system that is not Windows or using VC++ 2008 Express. With inconsistencies in the various tutorials, I can't tell which is which.

All I want to do is just get started. Obviously, I need to create a thread. Then I need to figure out how to temporarily pause a thread so that the drawing won't be based on old positions. This way, I resume the execution of the drawing thread when the positions have been determined.