I have N (atually 35) processes to complete - all just number crunching. Since I have a dual core PC I thought of using threads. So I kick off 2 threads & call WaitForMultipleObjects(2,h,FALSE,INFINITE) & pick up the rsponse, determine which thread has completed, update the paras & kick it off again. Fine - but sometimes one thread seems to complete & not get kicked off again. I end up with just one processor running. Could it be that 2 threads finish together? How can I tell from WaitForMultipleObjects is both threads have completed ????