Skip to content

Latest commit

 

History

History
17 lines (12 loc) · 717 Bytes

README.md

File metadata and controls

17 lines (12 loc) · 717 Bytes

An implementation of Michael-Scott queue in C++

Lock-free queue

Queues are important in a variety of applications in computer science. Some of these include:

  • process scheduling
  • load balancing
  • message queues

In some applications, non-blocking queues are useful. In operating systems, if there's an interrupt while a process is being added to the queue during scheduling, this could result in performance loss as other processors wait for the lock to be released. This is where a lock-free queue can be useful.

I implemented the queue based on the original paper.

Critical technologies/concepts:

  • C++
  • atomic variables
  • memory models