Многие устройства ввода-вывода буферизированы, что означает, что данные не отправляются сразу, но они аккумулируются для отправки навалом, когда имеется достаточное количество.
Это достигается, по существу, с большей производительностью, так как при отправке данных, как правило, исправлены некоторые накладные расходы (по крайней мере, накладные расходы на сборку), которые хорошо амортизируются при отправке данных навалом, но их придется платить за каждую запись если буферизация не будет использоваться.
(обратите внимание, что здесь мы говорим только о QIODevice
буферов, как правило, есть также все виды режима ядра буферов и буферов внутренних для самих устройств)
bytesToWrite
говорит вам, сколько материал в QIODevice
буфер записи, т. Е. Сколько байтов вы написали, которые ожидают быть на самом деле написано (как указано, дано ОС для записи).
Мне никогда не приходилось использовать этот элемент, но я полагаю, что это может быть полезно, например. в сценарии производителя-потребителя (= если буфер записи меньше, чем что-то, тогда вы должны фактически рассчитать следующий фрагмент отправляемых данных), чтобы вручную обрабатывать буферизацию в некоторых местах или даже просто для целей отладки/ведения журнала.
Большое вам спасибо за ваш ответ Я получил его –