what is the difference between fork and thread ?
and parent and child process in fork system call?
Answers were Sorted based on User's Feedback
Answer / amith
fork() system call in UNIX causes creation of a new process
the new process (child process) which is an exact copy of
the calling process(parent process).return value from fork
() is used to distinguish the parent from the child; the
parent receives the child's process id, but the child
receives zero.
A thread is a stream of instructions that can be scheduled
as an independent unit.
A thread is a stream of instructions that can be scheduled
as an independent unit. It is important to understand the
difference between a thread and a process. A process
contains two kinds of information: resources that are
available to the entire process such as program
instructions, global data and working directory, and
schedulable entities, which include program counters and
stacks. A thread is an entity within a process that
consists of the schedulable part of the process.
A fork() duplicates all the threads of a process. The
problem with this is that fork() in a process where threads
work with external resources may corrupt those resources
(e.g., writing duplicate records to a file) because neither
thread may know that the fork() has occurred.
When a new perl thread is created, all the data associated
with the current thread is copied to the new thread, and is
subsequently private to that new thread! This is similar in
feel to what happens when a UNIX process forks, except that
in this case, the data is just copied to a different part
of memory within the same process rather than a real fork
taking place.
A fork() induces a parent-child relationship between two
processes. Thread creation induces a peer relationship
between all the threads of a process.
Is This Answer Correct ? | 25 Yes | 6 No |
Answer / nanda
for() creates a new process which copy of parent only PID
is different.thread create within process except stack it
shares memory
example:
global variable seterrno is shared by multiple threads
Is This Answer Correct ? | 13 Yes | 12 No |
Answer / venkatamahalakshmaiah
what an answer Nanda..u shuld be kept in a museum..
Is This Answer Correct ? | 7 Yes | 13 No |
How to know what are the packages required for any service? Example: How to know what are the package required for send mail services. using any command it is passable are not?
What is the difference between semaphore and spinlock?
There are 4 network Interfaces, how can we find which one is Primary.
I have accidently deleted my fstab... how do i recover/ regenerate the file?????? in rescue mode i cannot create a new file since the filesystem is readonly and could not mount in readwrite mode ?????????
how do i check which package has installed some command suppose ls , mkdir or whatever ???
How is the difference between ftp and sftp ? and explain how to create ftp server and sftp server with example ?
2 Answers Bank Of America, IBM,
what are the different types of Backups..?
how can i create samba server in fedora 9.0 ? and domain/LDAP controller! clilent side is windows pc .?
What is the difference between RedHat linux and Fedora and Ubuntu?
Tell me command which is use for create quota database in Linux.
What is the difference between home directory and working directory?
plz mention some interesting problems you faced and how you solved it?