Задать вопрос
@saretioper

Динамические библиотеки уменьшают кол-во блокировок процессов?

Стоит ли использовать динамические библиотеки для того, чтобы блокировок процессов было меньше или это не сильно поможет?
  • Вопрос задан
  • 387 просмотров
Подписаться 3 Простой 3 комментария
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
Динамические бибилиотеки это обычно те, которые уже есть в системе, и они могут быть расшарены между разными процессами.
Плюс: жрут меньше оперативки, так как библиотека загружается один раз, после чего разные процессоры могут ее юзать
Минус - какая версия библиотеки установлена в систему - той и пользуйся. Следовательно нужно учитывать совместимость.

Статические - обычно идут вместе с твоим софтом, интегрируются в исполняемый файл.
Плюс - можно юзать любую версию.
Минус - каждая программа будет грузить в память свой экземпляр всей библиотеки, и если библиотека большая (а зачастую код print(stdout,"hello world) гораздо меньше, чем библиотека которая собственно выводит строку), то расходуется лишняя память и лишнее место на диске.

Отношения к блокировкам процессов ни те ни другие не имеют
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AshBlade
@AshBlade
Просто хочу быть счастливым
Стоит уточнить, что такое блокировка процессов.
- Если речь идет о взаимной блокировке (получение доступа к семафору/мютексу/шареной блокировке и т.д.), то не решает - разницы между потоком и процессов в этом случае нет.
- Если речь о блокировках IO операций, то в общем может за счет распараллеливания.
- Если речь идет про разницу между статической и динамической, то нет, т.к. переменные и другие структуры, на которые берется блокировка (иначе откуда блокировка), создаются для каждого процесса свои (копии свои).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы