Jump to content

Memory model (programming)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Hervegirod (talk | contribs) at 20:59, 6 July 2008 (​Created page with 'A '''Memory model''' describes how threads interact through memory, or more generally specify what assumptions the compiler sho...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

A Memory model describes how threads interact through memory, or more generally specify what assumptions the compiler should make when generating code for segmented memory or paged memory platforms.

History and significance

Despite being necessary in order to dictate under which circumstances multiple threads may access the same memory location, few languages have a formal specification of their memory model.

The Java Memory Model was the first attempt to provide a comprehensive memory model for a popular programming language. It was justified by the increasing prevalence of concurrent and parallel systems, and the need to provide tools and technologies with clear semantics for such systems. Since then, the need for a memory model has been more widely accepted, and efforts are underway to provide such semantics for languages like C++0x, the next version of [C++]].

See also