A process is a running program with its own memory; a thread is a lightweight unit of execution inside a process.