Lably
Skip to content

Thread (computing)

Component of a computer process

  • 17 min read
  • 5 chapters

Related on Lably

Through Computer science, Execution (computing) and Operating system

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.

History

Threads made an early appearance under the name of "tasks" in IBM's batch processing operating system, OS/360, in 1967. It provided users with three available configurations of the OS/360 control system, of which multiprogramming with a variable number of tasks (MVT) was one. Saltzer (1966) credits Victor A. Vyssotsky with the term "thread".

The Mach implementation of threads was described in the summer of 1986. OS/2 1.0, released in 1987, supported threads. Digital Research's MP/M operating system provided multiprogramming, multi-tasking, and preemptive multi-tasking for the Intel 8080 processor in 1979, and on the 8086 processor in 1981. The first version of Windows to have threads was Windows NT, which was released in 1993.

In 1995, the IEEE defined the pthreads API, which standardized an interface for portable multithreaded programming across a variety of Unix-like operating systems. Since then, pthreads has also been implemented on Windows with third-party packages such as pthreads-w32, which implements the standard on top of the existing Windows API.

The use of threads in software applications became more common in the early 2000s as CPUs began to utilize multiple cores. Applications wishing to take advantage of multiple cores for performance advantages were required to employ concurrency to utilize the multiple cores.

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Computing and communication