Если я запускаю два разных скрипта Python, которые загружают динамическую библиотеку на один и тот же компьютер, они получат отдельную внутреннюю память или получат доступ к одному и тому же (таким образом, искажая результаты)?
Одна и та же библиотека может быть загружена только один раз ; точнее, если вы попытаетесь загрузить библиотеку с тем же путем, она загружается только один раз в процессе.
- Теперь предположим, что вы загружаете библиотеку, копируете / вставляете эту библиотеку в другое место, переименовываете ее и пытаетесь загрузить копию, после чего она загружается дважды.
Что касается памяти, используемой одной и той же библиотекой, загруженной несколько раз, поскольку вы загружаете только одну библиотеку, повреждений нет. Если вы загрузите его копию, то каждая из этих библиотек получит свои собственные выделения памяти.
Загрузить их в другой многопроцессорный экземпляр
Нет проблем. многопроцессорная обработка использует разные процессы, и разные процессы не могут перезаписать что-либо в адресное пространство другого процесса (если только явно не запросило его).
Загрузить их в другой многопоточный экземпляр
Вы сможете загрузить только один экземпляр библиотеки. При этом, поскольку у вас есть только один экземпляр библиотеки, технически и в зависимости от библиотеки , вызов функции может перезаписать предыдущее внутреннее состояние библиотеки. Это сильно зависит от того, может ли библиотека использоваться в многопоточном контексте.
Как вы сказали, библиотека поддерживает внутреннее состояние, каждый вызов функции имеет возможность перезаписать / изменить предыдущее внутреннее состояние (в зависимости от влияния вызываемой функции на внутреннее состояние).
Загрузите их в два разных ноутбука Jupyter с разным ядром
Зависит от того, используют ли два ноутбука два разных экземпляра переводчика.
Если это один и тот же интерпретатор с двумя записными книжками, то у вас есть только один экземпляр вашей библиотеки, загруженный интерпретатором.
Различные интерпретаторы: два процесса -> две библиотеки, каждая со своим отдельным состоянием.
Запускайте их в разных виртуальных средах Python
В разных виртуальных средах используются разные процессы.