Thread (computing)

A process with two threads of execution, running on one processor
Program vs. Process vs. Thread
Scheduling, Preemption, Context Switching

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.[1] In many cases, a thread is a component of a process.

The multiple threads of a given process may be executed concurrently (via multithreading capabilities), sharing resources such as memory, while different processes do not share these resources. In particular, the threads of a process share its executable code and the values of its dynamically allocated variables and non-thread-local global variables at any given time.

The implementation of threads and processes differs between operating systems. In Modern Operating Systems, Tanenbaum shows that many distinct models of process organization are possible.[2][page needed]

  1. ^ Lamport, Leslie (September 1979). "How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs" (PDF). IEEE Transactions on Computers. C-28 (9): 690–691. doi:10.1109/tc.1979.1675439. S2CID 5679366.
  2. ^ Tanenbaum, Andrew S. (1992). Modern Operating Systems. Prentice-Hall International Editions. ISBN 0-13-595752-4.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne