Я пытаюсь создать двоичное хранилище. Добавленные файлы не могут быть удалены. Все файлы хранятся в том же главном файле (storage.bin). У меня будет индекс таблицы с парами (ключ, startFilePos, fileLength).лучший способ обработки нескольких потоков в один файл
Я изо всех сил стараюсь найти лучшее решение, прежде чем начинать кодирование. Поскольку я не так разбираюсь в потоках в .net, я хотел бы получить некоторые советы по ним.
несколько потоков в один файл (storage.bin) решение? Как файлы могут быть добавлены параллельно, как только я начну получать файл, i зарезервировать место на диске для него и начать записывать этот конкретный файл в зарезервированный блок, в то время как другие файлы с тем же сценарием добавляются в другие темы.
Если (1) является жизнеспособным решением, является ли оно оптимальным? если нет, может вы укажете на лучший?
Каков наилучший способ выделить потоки для каждого сценария добавления файлов? Кажется, что поток 1 поток/1 не является жизнеспособным решением. Я думал, что у вас есть пул потоков, и если предел достигнут, у вас есть новый файл, ожидающий, когда он будет доступен.
Спасибо за быстрый ответ! Что касается (2), я ограничена конкретной проблемой для обработки всего в одном файле. Если бы это зависело от меня, я бы сохранил отдельные файлы. – Alex
Тогда почему вы спрашиваете, есть ли лучший способ - вы, кажется, уже знаете ответ на этот вопрос :-) –