• В каких случаях лучше использовать lockfree структуры данных, а когда на мютексах?

    @degs
    @Trrrrr: Умные указатели не пойдут, вот кусочек из документации:

    template class queue;
    Requirements:
    T must have a copy constructor
    T must have a trivial assignment operator
    T must have a trivial destructor

    Если строго следовать букве, это значит что T должен простой побитово копируемой структурой с пустым деструктором. Похоже авторы вложили всю ментальную мощь в сам алгоритм и полностью забыли про всяческий полиморфизм, которым так славен был ранний boost.
    Как пример, автор boost::log на вопрос, почему они не используют boost::lockfree, уклончиво ответил что в нем слишком много конструктивных ограничений и им пришлось написать свою неблокируюшую очередь. Тревожный звоночек для boost я бы сказал.