Я изучаю, как использовать модули threading
и multiprocessing
в Python для параллельной работы определенных операций и ускорения моего кода.
Я нахожу это трудно (возможно, потому, что у меня нет теоретического фона), чтобы понять, какая разница между объектами threading.Thread()
и multiprocessing.Process()
.
Кроме того, мне не совсем понятно, как создать экземпляр очереди заданий и иметь только 4 (например) из них, работающих параллельно, в то время как другие ждут освобождения ресурсов до их выполнения.
Я нахожу примеры в документации ясными, но не очень исчерпывающими; как только я попытаюсь немного усложнить ситуацию, я получаю много странных ошибок (например, метод, который нельзя мариновать и т.д.).
Итак, когда следует использовать модули threading
и multiprocessing
?
Можете ли вы связать меня с некоторыми ресурсами, которые объясняют концепции этих двух модулей и как их правильно использовать для сложных задач?