Как несколько потоков могут изменять одни и те же данные вообще без блокировок? Наука о Lock-Free программировании и проблеме ABA