Until here I have used only this rotine in order to make my program work properly

while( ::PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
{
if( !::IsDialogMessage( g_hMDIClient, &msg ) )
{
:: TranslateMessage( &msg );
:: DispatchMessage( &msg );
}
}

but now it is not enough enymore and I need to start using multithread...
As I have never done a multithread program before and I want not to start over but make my program multithread I ask if anyone knows a good source (tutorial) that could help me!?