Printer Friendly
Dictionary, Encyclopedia and Thesaurus - The Free Dictionary
1,804,088,716 visitors served.
forum mailing list For webmasters
?
New: Language forums
Dictionary/
thesaurus
Medical
dictionary
Legal
dictionary
Financial
dictionary
Acronyms
 
Idioms
Encyclopedia
Wikipedia
encyclopedia
?

multithreading

   Also found in: Dictionary/thesaurus, Wikipedia 0.11 sec.

multithreading

Multitasking within a single program. It allows multiple streams of instructions (threads) to execute concurrently within the same program, each stream processing a different transaction or message. Each stream is a "subprocess," and the operating system typically cooperates with the application to handle the threads.

In order for a multithreaded program to achieve performance gains, it must be run in a multitasking or multiprocessing environment, which allows multiple operations to take place simultaneously.

It Depends on the Application
Certain types of applications lend themselves to multithreading. For example, in an order processing system, each order can be entered independently of the other orders. In an image editing program, a calculation-intensive filter can be performed on one image, while the user works on another. Multithreading is also used to synchronize audio and video streams.

Symmetric Multiprocessing
A symmetric multiprocessing (SMP) operating system uses multithreading to allow multiple CPUs to be controlled at the same time. See SMP.

Reentrant Code
Multithreading generally uses reentrant code, which cannot be modified when executing, so that the same code can be shared by multiple programs. See multiprocessing and hyperthreading.


multithreading [¦məl·tə′thred·iŋ]
(computer science)
A processing technique that allows two or more of the same type of transaction to be carried out simultaneously.

(parallel)multithreading - Sharing a single CPU between multiple tasks (or "threads") in a way designed to minimise the time required to switch threads. This is accomplished by sharing as much as possible of the program execution environment between the different threads so that very little state needs to be saved and restored when changing thread.

Multithreading differs from multitasking in that threads share more of their environment with each other than do tasks under multitasking. Threads may be distinguished only by the value of their program counters and stack pointers while sharing a single address space and set of global variables. There is thus very little protection of one thread from another, in contrast to multitasking.

Multithreading can thus be used for very fine-grain multitasking, at the level of a few instructions, and so can hide latency by keeping the processor busy after one thread issues a long-latency instruction on which subsequent instructions in that thread depend.

A light-weight process is somewhere between a thread and a full process.

TL0 is an example of a threaded machine language. Dataflow computation (E.g. Id and SISAL) is an extreme form of multithreading.


How to thank TFD for its existence? Tell a friend about us, add a link to this page, add the site to iGoogle, or visit webmaster's page for free fun content.
?Page tools
Printer friendly
Cite / link
Email
Feedback
? Mentioned in ? References in periodicals archive
 
Its features simplify debugging and analysis of applications and offer unrivaled support for code that uses multithreading and MPI on both distributed and shared memory computers.
He has done research in many areas of computer architecture, including simultaneous multithreading, high-performance architectures, and real-time and network processors.
It has features that simplify development of large or complex applications and offers unrivaled support for applications that use message passing, multithreading, OpenMP and other parallel programming techniques that enable applications on both distributed memory and shared memory multiprocessor computers.
 
Encyclopedia browser? ? Full browser
 
 
Encyclopedia
?

Disclaimer | Privacy policy | Feedback | Copyright © 2009 Farlex, Inc.
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional. Terms of Use.