Thread: Difference between revisions

m
Added a link
m (Stupid case sensitivity, changed a link)
m (Added a link)
Line 1:
[[Category:Encyclopedia]]A '''thread''' is a particular flow of control within a [[process]]. A thread shares the address space with other threads in the same process, but each thread gets its own call stack and set of registers. Switching between threads within a process is a much lighter-weight operation than switching between processes. Threads can by ''native'' (provided by the [[:Category:Operating Systems|operating system]]) or ''green'' (an abstraction provided solely by the language or threading library). [[Erlang]] and [[Forth]] provide their own threading mechanisms, and [[Java]] VMs can often be configured to use either native or green threading.
 
Programs can be "multi-threaded", where certain parts of the programs will compete for system resources. Threads are useful for servers, where each client connecting to a server will "spawn" a new thread for its own operations. A program can also run multiple operations concurrently, also known as [[Fork Process|forking a process]]. With single-core processors, multi-threading does not usually provide much of an advantage, but with multiple cores, a computer can run the threads concurrently and do multiple programs' work at once.
Anonymous user