Pergunta de entrevista da empresa IBM

Explain the difference between process and thread, and how you would handle synchronization in a multithreaded C++ application.