Answer Posted / sandeep patra
Thread is an executable entity but it is bound to its parent
process.
now there are two types of threads.
1. user space threads and
2. kernel thread
now the kernel threads are actually known as light weight
processes.
why light weight????
>>>> as it's context switching times is lesser than all
other process.
now why the context switching time is less????
>>>>> as process have there own process address space and
maintains many more things like userID, ProcessID, groupID,
number of files opened, reisters and blah, blah
whereas thread shares it's parent process's address space
and mainly contains three things like own stack, registers
and thread related data.
so more things to swap need more time that's why thread's
context switching time is less compared to that of a process.
now the answer,
use of thread: thread are used to provide multi-programming
environment.
ok, now u ppl would think that, it can also be done creating
new processes (using fork())
yes we can,
but as i told earlier that the context switch time for
threads are very less.
moreover the inter-thread communication is more easier than
inter-process communication as all threads of a single
process uses the same address space.
| Is This Answer Correct ? | 61 Yes | 7 No |
Post New Answer View All Answers
What is pthread in linux?
What are the two methods to create threads?
Can two threads execute at the same time?
how will you distinguish if it is a process or a thread, provided you know pid in linux operating system?
Is c++ multithreaded?
Is creating a thread expensive?
Is threading harmful?
What is the difference between user level thread and kernel level thread?
Can we start two threads at a time?
Can hyper threading hurt performance?
How many threads does an i7 8700k have?
What does thread mean in slang?
What is user level and kernel level thread?
How many threads can one core handle?
Why are threads expensive?