Почему потоки без блокировок замедляют работу друг друга, даже если они не обмениваются данными?C++

Программы на C++. Форум разработчиков
Anonymous
Почему потоки без блокировок замедляют работу друг друга, даже если они не обмениваются данными?

Сообщение Anonymous »

У меня есть многопоточная программа, в которой два потока работают с совершенно разными переменными.
Нет блокировок, общего состояния и гонок за данными.
Однако, когда оба потока выполняются на разных ядрах, общая производительность заметно падает по сравнению с запуском их по отдельности.
Вопрос:
Какие механизмы могут вызывать конфликты или замедление работы на уровне процессора и системы памяти? потоки, которые логически не обмениваются данными?

Подробнее здесь: https://stackoverflow.com/questions/798 ... share-data

Вернуться в «C++»