Non-blocking Michael-Scott queue algorithm
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.