Добрый день! В приложении используется Shared Memory. Для того, чтобы разные процессы не меняли данные одновременно используется spinlock в виде переменной, лежащей в той-же Shared Memory. Проблема в том, что при большом количестве заблокированных процессов, они начинают слишком много времени тратить в цикле спинлока. Сейчас есть идея сделать счетчик процеесов, коорые ждут лока и если их больше количества ядер-1, то сразу вызвать sleep вместо цикла спинлока. Может есть другие решения? Где про это все хорошо написано?


Ответ на:
комментарий
от vasily_pupkin

Ответ на:
комментарий
от vasily_pupkin

Ответ на:
комментарий
от vromanov

Ответ на:
комментарий
от vasily_pupkin


Ответ на:
комментарий
от vromanov

Ответ на:
комментарий
от nerdogeek

Ответ на:
комментарий
от vasily_pupkin


Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от tailgunner


Ответ на:
комментарий
от vromanov
Ответ на:
комментарий
от pulo


Ответ на:
комментарий
от EugeneBas


Ответ на:
комментарий
от vromanov

Ответ на:
комментарий
от unfo

Ответ на:
комментарий
от true_admin

Ответ на:
комментарий
от vromanov

Ответ на:
комментарий
от vromanov

Ответ на:
комментарий
от vromanov
Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от vromanov


Ответ на:
комментарий
от vromanov

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.