Как безопасно распараллелить CPU-работу с multiprocessing на разных ОС и без лишних копий?
На Linux избегайте fork с активным asyncio/TLS — используйте spawn/forkserver; на Windows только spawn. Передавайте крупные данные через multiprocessing.shared_memory/Array/Queue батчами, а не гигантскими pickles. Инициализацию делайте в if __name__ == "__main__":, задайте maxtasksperchild, корректно ловите SIGTERM и дренируйте очереди перед join().
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека собеса по Python
❤2
Как в Python работает метод __call__() и когда его имеет смысл использовать?
Метод call() предоставляет возможность сделать объект вызываемым, что позволяет использовать его как функцию. Этот метод можно внедрить в любой класс, чтобы экземпляр этого класса можно было вызывать напрямую. Это особенно удобно, когда класс решает одну основную задачу и может выступать в роли функции, при этом сохраняя свое внутреннее состояние и структуру.
Библиотека собеса по Python
Библиотека собеса по Python