Allocation without locking

Research output: Contribution to journalArticle

6 Scopus citations

Abstract

In a programming environment with both concurrency and automatic garbage collection, the allocation and initialization of a new record is a sensitive matter: if it is interrupted half‐way through, the allocating process may be in a state that the garbage collector cannot understand. In particular, the collector will not know which words of the new record have been initialized and which are meaningless (and unsafe to traverse). For this reason, parallel implementations usually use a locking or semaphore mechanism to ensure that allocation is an atomic operation. The locking significantly adds to the cost of allocation. This paper shows how allocation can run extremely quickly even in a multi‐thread environment: open‐coded, without locking.

Original languageEnglish (US)
Pages (from-to)703-705
Number of pages3
JournalSoftware: Practice and Experience
Volume19
Issue number7
DOIs
StatePublished - Jul 1989

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint Dive into the research topics of 'Allocation without locking'. Together they form a unique fingerprint.

  • Cite this