Я провел эксперимент на своем ноутбуке, который имеет 2 ядра, максимум 4 потока. Я работал с 2-5 одинаковыми ноутбуками, каждый из которых увеличивал число от 1 до 100 триллионов. На выполнение каждой записной книжки потребовалось несколько минут.
В диспетчере задач Windows каждый блокнот рассматривался как отдельный процесс. Одновременно может работать не более 4 ноутбуков, каждый из которых потребляет от 20 до 25% одного процессора. Пятый блокнот фактически должен был ждать, пока другие не закончили, прежде чем он начал работать.
Так, чтобы ответить на мои собственные вопросы
- Каждое исполнение ноутбука - это отдельный поток, способный работать на любом из ядер вашего компьютера. Ячейки в одной и той же записной книжке не могут выполняться одновременно (очевидно) без использования такой библиотеки, как Threading.
Вы можете открыть столько ноутбуков, сколько позволяет оперативная память, при условии, что они не работают. Тем не менее, вы можете запустить только
MAX_THREADS = THREADS_PER_CORE * NUM_CORES
ноутбуков одновременно. Если вы попытаетесь запустить больше, дополнительные записные книжки просто остановятся, пока не закончатся другие потоки.
Это правильная интерпретация