A process is a completely independent program that has its own address space, while a thread is a semi-independent program segment that executes within a process.Threads share the same process address space.