C++ lock-free контейнеры

Тема в разделе "LANGS.C", создана пользователем im., 20 апр 2019.

  1. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    313
    От hh.ru пришла подборка новостей, там в одном крупном облачном проекте требуются навыки разработки lock-free контейнеров. Знаком с этим мало, поэтому стало интересно, посмотрел тему lock-free контейнеров, но толком не увидел завершенных вариантов предлагаемых решений. Одна из статей обещала написание примера такого контейнера, вроде как все и интересно, но заканчивалась тем, что мол все круто, правда тут есть утечка памяти и это решать не будем, т.к. нужен сборщик мусора, а его писать надо отдельно, лоооооол.

    Я всегда считал это экперементальными разработками, ибо будь возможность стабильной реализации, оно бы уже появилось хоть в каком-то виде и применялось. Даже в boost скудно это все представлено и имеет проблемы практического применения.

    Кто с этой кухней знаком? Делитесь информацией. Есть опыт применения? Успешно?
     
  2. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Например какие?
     
  3. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    313
  4. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Двойная проверка и битовая карта решает все проблемы. Разве что количество потоков придётся ограничить. Либо принудительно привязать к ядрам.
     
  5. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    947
    нене , лучше свооппинг , тогда хоть одно и з ядер будет исполнять
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.895


    --- Сообщение объединено, 8 май 2019 ---
    тоже самое от Херба Саттера, если вдруг тут есть его фанаты: