История изменений
Исправление firkax, (текущая версия) :
Тот кто первый захватил – ищет в списке с лева на право (левее самые старые) есть ли завершившие объекты завершившие работу с файлом (о завершении судит по свободному мьютексу). Если удалось занять мьютекс (уникальный на объект) то файл того объекта закрывается, и поток открывает свой файл. Т.е. в итоге, когда потоков много – все сводится грубо говоря к конкуренции за один мьютекс, а сам IO весьма себя расслаблено чувствует (на ssd).
А если свободный файловый слот найти не удалось, то что он делает?
1500 тысячи
Полтора миллиона?
Исходная версия firkax, :
Тот кто первый захватил – ищет в списке с лева на право (левее самые старые) есть ли завершившие объекты завершившие работу с файлом (о завершении судит по свободному мьютексу). Если удалось занять мьютекс (уникальный на объект) то файл того объекта закрывается, и поток открывает свой файл. Т.е. в итоге, когда потоков много – все сводится грубо говоря к конкуренции за один мьютекс, а сам IO весьма себя расслаблено чувствует (на ssd).
А если свободный файловый слот найти не удалось, то что он делает?