Think of a thread as a "process within a process." It's a separate branch of your program doing other things while your main program is doing its work. For the Wiki's take on "threads", visit:
Both threads and processes are meant for efficient resource usage. The main diffrence between them is the way they handle with data.
Process: Each process has seperate image in memory. They maintain the data independently. Processes communicate with each other using IPC methods(Interru pts,signals,pip es...etc).
Threads: Threads spawn by a process will share the data. So there could be some problem while accessing the data.(critical section problem). Semaphores, Mutexs are used to resolve these problems.
Comment