У меня есть класс, который перебирает некоторые файлы данных, обрабатывает их, а затем записывает новые данные обратно. Анализ каждого файла полностью независим от других. Класс содержит информацию, необходимую для анализа, в своих атрибутах, но анализ не должен изменять какие-либо атрибуты класса. Таким образом, я могу сделать анализ одного файла данных единственным методом моего класса. Анализ в принципе может быть выполнен параллельно, поскольку каждый файл данных является независимым. Кроме того, я собирался сделать свой класс повторяемым.
Могу ли я использовать многопроцессорный модуль для порождения процессов, которые являются методами моего класса? Мне нужно использовать многопроцессорность, потому что я использую сторонний код, который имеет очень серьезную утечку памяти (заполняет все 24 ГБ памяти после примерно 100 файлов данных).
Если нет, как бы вы поступили так? Вы бы просто использовали обычную функцию, вызываемую моим классом (передавая всю необходимую мне информацию в качестве аргументов) вместо метода? Как аргументы передаются функциям в многопроцессорной обработке? Это делает глубокую копию?