#c# #file #windows-phone-7 #isolatedstorage
#c# #файл #windows-phone-7 #isolatedstorage
Вопрос:
У меня есть N файлов для записи в изолированное хранилище, лучше ли это делать последовательно или это может быть асинхронно (например, максимум 3 параллельно)?
Я знаю, как я это делаю, я хотел знать, плохая ли это идея и т.д…
Ответ №1:
Вы не можете физически сохранить два файла одновременно. У вас есть только один процессор, который может выполнять только одну задачу за раз, и поскольку файл в конечном итоге записывается во Flash, у которого есть контроллер, который в любом случае может записывать только один сектор за раз, все записи в конечном итоге сериализуются в какой-то момент. Я уверен, что в глубине кода файловой системы есть потокобезопасность, которая отлично справится с несколькими вызовами write, но я не думаю, что вы получите какую-либо производительность, пытаясь записывать файлы параллельно.
Ответ №2:
У вас есть файлы в памяти или вы загружаете их откуда-то? Если файлы находятся в памяти, то смотрите ответ ctacke . Если вы их загружаете, возможно, имеет смысл сохранять их в изолированное хранилище асинхронно, а не ждать завершения каждой загрузки перед запуском следующей. В этом случае это действительно зависит от того, могут ли они быть загружены одновременно.