Non-blocking Michael-Scott queue algorithm

Alexey FyodorovThe Guy

Non-blocking Michael-Scott queue algorithm uses a very interesting idea: threads, working with the queue, “help each other”. This algorithm and its modifications are used in many modern platforms, including and C++ and Java. In the first part of this talk I will give a short introduction to non-blocking programming and CAS-like operations. In the second part, I will demonstrate Michael-Scott algorithm itself and it's modifications, and show you exactly what it is I so admire.


Conference Producer @ Group, Technology Evangelist @ Odnoklassniki Technology Evangelist @ Odnoklassniki. Worked for Oracle for 3 years (JCK Team, Java Platform group). Leader of (Russian Java User Group), organizer of largest Russian Java, JavaScript and .NET conferences. Java Champion. Interested in runtimes, multithreaded programming and software engineering trade-offs.