Здравствуйте, Sharowarsheg, Вы писали:
S>Здравствуйте, Aniskin, Вы писали:
S>Насколько большие блоки и постоянной ли они длины?
В общем случае блоки большие и переменной длины.
S>Нельзя ли записывать блоки в произвольном порядке?
Нет. Я произвожу операцию упаковки/распаковки в многопоточном режиме, блоки должны следовать последовательно.
S>Нельзя ли сделать очередь на запись, и пусть каждый поток кладет свои обработанные блоки в эту очередь, а еще один поток пусть выбирает из очереди и упорядоченно записывает. Нужно, конечно, будет принять меры, чтобы очередь не распухла, но тем не менее.
Можно, конечно, изменить алгоритм на предложенный, но в этом случает при двух потоках первый будет читать и обрабатывать, а второй только писать, imho не очень рационально. В целом, хотелось бы остаться в рамках исходного алгоритма.