TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
#HEX • IT

22 Sep, 20:12

Открыть в Telegram Поделиться Пожаловаться

concurrency-primer.pdf
1.3Мб
Почему ваш код врет компилятору (и процессору)

Короткий, но плотный гайд Мэтта Клайна про конкурентность. Не для новичков, которые только узнали про threading, а для тех, кто хочет понять, почему атомики работают именно так, а не иначе.

Главная мысль: порядок выполнения инструкций в вашем коде ≠ порядку их выполнения в железе.

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

Что внутри:
— Почему volatile бесполезен для синхронизации потоков (спойлер: он не дает барьеров памяти).
— Чем sequential consistency отличается от acquire/release и зачем вам вообще трогать memory ordering, если вы не пишете lock-free структуры.
— Как работают CAS (compare-and-swap) и почему на ARM это больно из-за LL/SC инструкций.
— Что такое false sharing и как одна лишняя переменная в кэш-линии может убить производительность.

Читать, если хотите перестать бояться гонок данных и начать понимать, что происходит под капотом std::atomic.

168 0 5 7
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot