Disruptor is a
library
A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
for the
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
programming language that provides a
concurrent
Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to:
Law
* Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea''
* Concurring opinion (also called a "concurrence"), a ...
ring buffer
In computer science, a circular buffer, circular queue, cyclic buffer or ring buffer is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end. This structure lends itself easily to buffering data streams. Ther ...
data structure of the same name, developed at
LMAX Exchange
LMAX Group is a global financial technology company which operates multiple institutional execution venues for electronic foreign exchange (FX) and crypto currency trading. The Group's portfolio includes LMAX Exchange, LMAX Global and LMAX ...
. It is designed to provide a low-latency, high-throughput
work queue in asynchronous event processing architectures. It ensures that any data is owned by only one thread for write access, therefore reducing write contention compared to other structures.
The library is used for asynchronous
logging
Logging is the process of cutting, processing, and moving trees to a location for transport. It may include skidding, on-site processing, and loading of trees or logs onto trucks or skeleton cars.
Logging is the beginning of a supply chain ...
in the popular Java software library
Log4j
Apache Log4j is a Java-based logging utility originally written by Ceki Gülcü. It is part of the Apache Logging Services, a project of the Apache Software Foundation. Log4j is one of several Java logging frameworks.
Gülcü has since crea ...
.
See also
*
Concurrent data structure
In computer science, a concurrent data structure is a
particular way of storing and organizing data for access by
multiple computing threads (or processes) on a computer.
Historically, such data structures were used on uniprocessor
machines w ...
References
External links
LMAX Disruptor: High Performance Inter-Thread Messaging Library
Java (programming language) libraries
Concurrent algorithms
{{Compu-sci-stub