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

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

Сообщение Anonymous »

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

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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