У меня есть генератор Python, который возвращает множество элементов, например:
import itertools
def generate_random_strings():
chars = "ABCDEFGH"
for item in itertools.product(chars, repeat=10):
yield "".join(item)
Затем я выполняю итерации по этому и выполняю различные задачи, проблема в том, что я использую только один поток / процесс дляэто:
my_strings = generate_random_strings()
for string in my_strings:
# do something with string...
print(string)
Это прекрасно работает, я получаю все свои строки, но это медленно.Я хотел бы использовать возможности многопроцессорной обработки Python для «разделяй и властвуй» этого цикла for.Однако, конечно, я хочу, чтобы каждая строка обрабатывалась только один раз.Хотя я нашел много документации по многопроцессорности, я пытаюсь найти самое простое решение для этого с наименьшим количеством кода.Я предполагаю, что каждый поток должен каждый раз брать большой кусок элементов и обрабатывать их, прежде чем вернуться и получить еще один большой кусок и т.д. ...
Большое спасибо,