Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Free
Faster access than browser!
 

Test-and-set

Index Test-and-set

In computer science, the test-and-set instruction is an instruction used to write 1 (set) to a memory location and return its old value as a single atomic (i.e., non-interruptible) operation. [1]

23 relations: Busy waiting, C (programming language), Cache (computing), Cache coherence, Central processing unit, Compare-and-swap, Computer science, Consensus (computer science), Critical section, Dual-ported RAM, Fetch-and-add, IBM System/360, Linearizability, Load-link/store-conditional, Maurice Herlihy, Memory barrier, Mutual exclusion, Read-modify-write, Spinlock, Test and test-and-set, Volatile (computer programming), X86, Z/Architecture.

Busy waiting

In software engineering, busy-waiting, busy-looping or spinning is a technique in which a process repeatedly checks to see if a condition is true, such as whether keyboard input or a lock is available.

New!!: Test-and-set and Busy waiting · See more »

C (programming language)

C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.

New!!: Test-and-set and C (programming language) · See more »

Cache (computing)

In computing, a cache, is a hardware or software component that stores data so future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation, or the duplicate of data stored elsewhere.

New!!: Test-and-set and Cache (computing) · See more »

Cache coherence

In computer architecture, cache coherence is the uniformity of shared resource data that ends up stored in multiple local caches.

New!!: Test-and-set and Cache coherence · See more »

Central processing unit

A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.

New!!: Test-and-set and Central processing unit · See more »

Compare-and-swap

In computer science, compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization.

New!!: Test-and-set and Compare-and-swap · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: Test-and-set and Computer science · See more »

Consensus (computer science)

A fundamental problem in distributed computing and multi-agent systems is to achieve overall system reliability in the presence of a number of faulty processes.

New!!: Test-and-set and Consensus (computer science) · See more »

Critical section

In concurrent programming, concurrent accesses to shared resources can lead to unexpected or erroneous behavior, so parts of the program where the shared resource is accessed are protected.

New!!: Test-and-set and Critical section · See more »

Dual-ported RAM

Dual-ported RAM (DPRAM) is a type of random-access memory that allows multiple reads or writes to occur at the same time, or nearly the same time, unlike single-ported RAM which allows only one access at a time.

New!!: Test-and-set and Dual-ported RAM · See more »

Fetch-and-add

In computer science, the fetch-and-add CPU instruction (FAA) atomically increments the contents of a memory location by a specified value.

New!!: Test-and-set and Fetch-and-add · See more »

IBM System/360

The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978.

New!!: Test-and-set and IBM System/360 · See more »

Linearizability

In concurrent programming, an operation (or set of operations) is atomic, linearizable, indivisible or uninterruptible if it appears to the rest of the system to occur at once without being interrupted.

New!!: Test-and-set and Linearizability · See more »

Load-link/store-conditional

In computer science, load-link and store-conditional (LL/SC) are a pair of instructions used in multithreading to achieve synchronization.

New!!: Test-and-set and Load-link/store-conditional · See more »

Maurice Herlihy

Maurice Peter Herlihy (born 4 January 1954) is a computer scientist active in the field of multiprocessor synchronization.

New!!: Test-and-set and Maurice Herlihy · See more »

Memory barrier

A memory barrier, also known as a membar, memory fence or fence instruction, is a type of barrier instruction that causes a central processing unit (CPU) or compiler to enforce an ordering constraint on memory operations issued before and after the barrier instruction.

New!!: Test-and-set and Memory barrier · See more »

Mutual exclusion

In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions; it is the requirement that one thread of execution never enter its critical section at the same time that another concurrent thread of execution enters its own critical section.

New!!: Test-and-set and Mutual exclusion · See more »

Read-modify-write

In computer science, read-modify-write is a class of atomic operations (such as test-and-set, fetch-and-add, and compare-and-swap) that both read a memory location and write a new value into it simultaneously, either with a completely new value or some function of the previous value.

New!!: Test-and-set and Read-modify-write · See more »

Spinlock

In software engineering, a spinlock is a lock which causes a thread trying to acquire it to simply wait in a loop ("spin") while repeatedly checking if the lock is available.

New!!: Test-and-set and Spinlock · See more »

Test and test-and-set

In computer science, the test-and-set CPU instruction is used to implement mutual exclusion in multiprocessor environments.

New!!: Test-and-set and Test and test-and-set · See more »

Volatile (computer programming)

In computer programming, particularly in the C, C++, C#, and Java programming languages, the volatile keyword indicates that a value may change between different accesses, even if it does not appear to be modified.

New!!: Test-and-set and Volatile (computer programming) · See more »

X86

x86 is a family of backward-compatible instruction set architectures based on the Intel 8086 CPU and its Intel 8088 variant.

New!!: Test-and-set and X86 · See more »

Z/Architecture

z/Architecture, initially and briefly called ESA Modal Extensions (ESAME), is IBM's 64-bit instruction set architecture implemented by its mainframe computers.

New!!: Test-and-set and Z/Architecture · See more »

Redirects here:

Test and set, Test&set.

References

[1] https://en.wikipedia.org/wiki/Test-and-set

OutgoingIncoming
Hey! We are on Facebook now! »