Номер один правильный ответ.
Прежде всего, проще создавать и управлять несколькими процессами, чем несколькими потоками. Вы можете использовать модуль multiprocessing
или что-то вроде pyro
, чтобы позаботиться о деталях. Во-вторых, многопоточность должна иметь дело с глобальной блокировкой интерпретатора Python, что делает ее более сложной, даже если вы являетесь экспертом в многопоточности с Java или C #. И самое главное, производительность на многоядерных машинах предсказать сложнее, чем вы думаете. Если вы не реализовали и не определили два различных способа сделать что-то, ваша интуиция относительно того, какой путь наиболее быстрый, вероятно, неверна.
Кстати, если вы действительно являетесь экспертом в области потоков Java или C #, то вам, вероятно, следует вместо этого использовать потоки, но вместо CPython использовать Jython
или IronPython
.