Добавить новость
ru24.net
Все новости
Декабрь
2024

Как создавать lock-free структуры данных в C# на базе CAS и Thread.Volatile

0

Привет, Хабр!

В многозадачности блокировки в старом добром понимании начинают становиться узким местом. Когда мы пытаемся использовать обычные синхронизации типа lock, Monitor или Mutex, начинается одна большая проблема: каждый поток, который захватывает блокировку, становится бутылочным горлышком для других.

Допустим, несколько потоков работают с одним и тем же ресурсом, например, с коллекцией данных. Когда один поток захватывает блокировку, все остальные просто стоят в ожидании, пока он её отпустит. Процесс простой, но… можно остаться ждать вечно, и это начнет вызывать проблемы с производительностью, особенно если приложению нужно работать с огромным количеством потоков.

Вот тут и приходят на помощь lock-free структуры данных, которые позволяют нам обрабатывать данные в многозадачной среде без необходимости блокировать потоки. В их основе лежат атомарные операции, такие как CAS.

Читать далее



Moscow.media
Частные объявления сегодня





Rss.plus




Спорт в России и мире

Новости спорта


Новости тенниса
WTA

Александрова победила Мертенс и вышла в 1/4 финала турнира WTA в Дохе






Елену Блиновскую могут приговорить к 6 годам лишения свободы и штрафу в 1,5 млн рублей

Первая в России научно-религиозная конференция открылась в Сириусе

В Госдуме выразили надежду, что Винер продолжит трудиться на благо российского спорта

Муниципальная премия «Служение»: новые номинации и рекордный отклик