Note that there are some explanatory texts on larger screens.

plurals
  1. POThreads: some questions
    text
    copied!<p>I have couple of questions on threads. Could you please clarify.</p> <ol> <li><p>Suppose process with one or multiple threads. If the process is prempted/suspended, does the threads also get preempted or does the threads continue to run?</p></li> <li><p>When the suspended process rescheduled, does the process threads also gets scheduled? If the process has process has multiple threads, which threads will be rescheduled and on what basis?</p></li> <li><p>if the thread in the process is running and recieves a signal(say Cntrl-C) and the default action of the signal is to terminate a process, does the running thread terminates or the parent process will also terminate? What happens to the threads if the running process terminates because of some signal?</p></li> <li><p>If the thread does fork fallowed exec, does the exece'd program overlays the address space of parent process or the running thread? If it overlays the parent process what happens to threads, their data, locks they are holding and how they get scheduled once the exec'd process terminates.</p></li> <li><p>Suppose process has multiple threads, how does the threads get scheduled. If one of the thread blocks on some I/O, how other threads gets scheduled. Does the threads scheduled with the parent process is running?</p></li> <li><p>While the thread is running what the current kernel variable points(parent process task_stuct or threads stack_struct?</p></li> <li><p>If the process with the thread is running, when the thread starts does the parent process gets preempted and how each threads gets scheduled?</p></li> <li><p>If the process running on CPU creates multiple threads, does the threads created by the parent process schedule on another CPU on multiprocessor system?</p></li> </ol> <p>Thanks, Ganesh</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload