Disruptor (software)

{{Short description|Java library that provides a concurrent ring buffer data structure}}

Disruptor is a library for the Java programming language that provides a concurrent ring buffer data structure of the same name, developed at LMAX Exchange.{{Cite web |title=The LMAX Architecture |url=https://martinfowler.com/articles/lmax.html |access-date=2023-04-17 |website=martinfowler.com}} 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.{{r|lmax}}{{cite web |url=https://martinfowler.com/articles/lmax.html |last=Fowler |first=Martin |authorlink=Martin Fowler (software engineer) |date=12 July 2011 |title=The LMAX Architecture |website=MartinFowler.com |accessdate=23 November 2018}} The library is used for asynchronous logging in the popular Java software library Log4j.

See also

References

{{Reflist|refs=

{{Cite tech report

| last = Thompson

| first = Martin

| last2 = Farley

| first2 = Dave

| last3 = Barker

| first3 = Michael

| last4 = Gee

| first4 = Patricia

| last5 = Stewart

| first5 = Andrew

| title = Disruptor: High performance alternative to bounded queues for exchanging data between concurrent threads

| url = https://lmax-exchange.github.io/disruptor/disruptor.html

| publisher = LMAX

| year = 2011

}}}}