Я читаю файл с n серверов, и я хочу, чтобы каждый загружал 1 / nth файла. Я думал, что какая-то быстрая целочисленная математика сработает, но, похоже, она не всегда работает:
threads = n
thread_id = 0:n-1
filesize (in bytes) = x
starting position = thread_id*(filesize/threads)
bytes to read = (filesize/threads)
Иногда только для правильных чисел, например 26-байтового файла, разделенного на 9 потоков (я знаю, что это смешно, но только для примера), это не работает в мою пользу. Должен быть лучший способ. Есть идеи?