Я создаю программу, которая будет генерировать все возможные комбинации из заданного диапазона с заданной длиной.Как разделить диапазон и дать ему несколько потоков для генерации всех комбинаций
Eg.
range: 1-6
length: 3
111
112
113
114
115
116
121
...
666
Я могу сделать такую программу, кто бы я хотел добавить многопоточность. Поэтому я хочу получить несколько потоков от пользователя и разделить работу между ними, так что instand из 1 потока, который генерирует комбинации, я хочу, чтобы N потоков это делали. Я не могу придумать способ разделить работу между потоками. Я искал в Google и здесь, но без везения, вероятно, я не использую правильные ключевые слова. Мне нужен какой-то алгоритм для этого, если вам нужен язык программирования для его описания, я смогу понять любой язык из семейства C.
Я хочу, чтобы, если количество потоков больше, чем символы в диапазоне (например, N: 12), могу ли я использовать все потоки для выполнения работы ? –
Я думаю, вы можете рекурсивно разделить нагрузку между ними. В моем примере, если вам нужно 10 потоков вместо 2, разделите нагрузку потока 1 на 5 потоков точно так же. –
@Planet_Earth см. Мое последнее редактирование –