What is the difference between a process and a thread?
A process is an independent program with its own memory space, while threads are lightweight units of execution within a process. Threads share the same memory space and resources of their parent process but have their own stack and register set.