тормозиться из-за этого, особенно если запись не в локальный файл пойдёт (а логирование все же должно быть универсально изначально написано), верно?
Если первое верно, то как я понял - нужен отдельный поток под логер, который из одного места будет писать в файл, а в себя уже принимать данные для записи из разных потоков. И внутри должно быть два массива для этих данных - один доступен для добавления новых данных, а из второго они записываются в файл. И по итогу лок мьютекса происходит только при смене ролей этих двух массивов и при добавлении данных в массив для добавления, так оно?
Только я не могу понять как в таком случае контролировать случай, когда массив для записи становится слишком большим.
Смысл в том что io намного медленнее CPU, и все твои потоки записи будут тупо ждать как диск один за другим будет записывать блоки.
Остальное я не понял ничего
Обсуждают сегодня