@saretioper

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы