Я использовал С# для решения требования к последующему. - создать приложение, которое может быстро получить много данных - вы должны иметь возможность анализировать полученные данные, в то время как все больше. - используйте как можно меньше CPU и диска
Моя идея для алгоритма была...
SIZE = 10MB
Create a mmf with the size of SIZE
On data recived:
if data can't fit mmf: increase mmf.size by SIZE
write the data to mmf
- > Размер на диске увеличивается в чанках 10 МБ, когда используются предыдущие "комнаты/пространства".
Как "увеличение mmf.size by SIZE" выполняется в С#? Я нашел много простых примеров по созданию mmfs и просмотров, но единственное место (ссылка) Я видел код, который резко увеличивает использование области mmfs код, который невозможно скомпилировать. Любая помощь будет значительно оценена.
ИЗМЕНИТЬ Это вызывает исключение:
private void IncreaseFileSize()
{
int theNewMax = this.currentMax + INCREMENT_SIZE;
this.currentMax = theNewMax;
this.mmf.Dispose();
this.mmf = MemoryMappedFile.CreateFromFile(this.FileName, FileMode.Create, "MyMMF", theNewMax);
this.view = mmf.CreateViewAccessor(0, theNewMax);
}
Это исключение выбрано: процесс не может получить доступ к файлу "C:\Users\moberg\Documents\data.bin", потому что он используется другим процессом.