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.[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.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search