Process is a program in execution.A process is an OS-level task or service. Suppose there r two processes that means that occurs at different-different memory location. and the context switching b/w process is more expensive.because it will take more time from one memory allocation to other memory allocation.that is why Process is called heavy weight process.
Thread is smallest part of program.and It is independent sequential path of execution with in a program. A thread runs "inside" a process and may be virtual or simulated. A single process can have multiple threads that share global data and address space with other threads running in the same process, and therefore can operate on the same data set easily. that is why Thread is called Light weight process.