Pregunta de entrevista de IBM

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