Изменения

Перейти к: навигация, поиск

Очередь Майкла и Скотта

571 байт добавлено, 01:10, 2 октября 2018
Корректная lock-free реализация
=== Основная идея ===
 
Нельзя выполнить добавление элемента в очередь и перемещение <tex>T</tex> атомарно. В таком случае, пусть остальные потоки помогают перенести указатель на хвост очереди. Если поток видит непустой <tex>T.next</tex> (то есть если он провалил <tex>CAS(tail.next, null, newTail)</tex>), то он должен помочь перенести <tex>T</tex>.
 
=== Реализация <tex>push</tex>
==Примечания==
Анонимный участник

Навигация