~ Office Supplies ~~ Buy Posters ~~ A-Z Products ~~ Website Advertising


Thread (computer science) - Wikipedia

<<Up     Contents

Thread (computer science)

Redirected from Threaded code

Many programming languages, operating systems, and other software development environments support what are called "threads" of execution. Threads are similar to processes, in that both represent a single sequence of instructions executed in parallel with sequences, either by time slicing[?] or multiprocessing. This allows a program to split itself into two or more simultaneously running tasks.

Threads are distinguished from traditional multi-tasking processes in that processes are typically independent, carry considerable state information, and interact only through system-provided inter-process communication mechanisms. Multiple threads, on the other hand, typically share the state information of a single process, share memory and other resources directly. On operating systems that have special facilities for threads, it is typically faster for the system to context-switch between different threads in the same process than to switch between different processes.

An advantage of a multi-threaded program is that it can operate faster on machines that have multiple CPUs, or across a cluster of machines. This is because the threaded nature of the algorithms allow true simultaneous and independent processing. In such a case, the programmer needs to be careful to avoid race conditions, and other non-intuitive behaviors. In order for data to be correctly manipulated, threads will often need to rendezvous in time in order to process the data in the correct order. Threads may also require atomic operations (often implemented using semaphores) in order to prevent data from being simultaneously modified, or read while in the process of being modified. Careless use of such primitives can lead to deadlocks.

Use of threads in programming often causes a state inconsistency. A common anti-pattern is to set a global variable, then invoke subprograms that depend on its value. This is known as accumulate and fire.

See also: Thread safety

The Java programming language is an example of a computer language which supports multi-threaded programs.

A relatively new concept, introduced in Intel's Pentium 4 3.06 GHz processor, is the Intel Hyper-threading


The term "thread" is used in a completely different sense in Forth. There it means a form of code consisting entirely of subroutine calls, written without the subroutine call instruction, and processed by an interpreter.

wikipedia.org dumped 2003-03-17 with terodump




 
 
40 ct mint green HIDDENITE Faceting cabbing rough raw uncut gemstone crystal nice jewel Beautiful 4
 40 ct mint green HIDDENITE ing cabbing raw uncut crystal nice jewel Beautiful 4 
 
5 grams purple AMETHYST Quartz cabbing tumbled polished rough jewelry gemstones 21 carat PRETTY Nice
 5 grams purple AMETHYST Quartz cabbing tumbled polished jewelry 21 carat PRETTY Nice 
 
Light green butter new jade Serpentine gem stone polished faceted Briolette stringing bead single
 Light green butter new jade Serpentine polished ed Briolette stringing bead single 
 
20 carats metallic silver gray HEMATITE gem stone rectangle magnetic cab rough gemstone 4 grams nice
 20 carats metallic silver gray HEMATITE rectangle magnetic cab 4 grams nice 
 
Tanzanite blue IOLITE gems jewels Loose natural 4mm square faceted cut jewelry gemstone pair 4 mm pr
 Tanzanite blue IOLITE jewels Loose 4mm square ed cut jewelry pair 4 mm pr