2012-04-21 3 views
0

Согласно здесь http://doc-snapshot.qt-project.org/4.8/qiodevice.htmlНесколько вызовов в QTcpSocket :: write?

некоторых подклассов QIODevice, таких как QTcpSocket и QProcess, являются асинхронными.

Например, первый вызов был сделан для отправки фрагмента данных. Теперь, до завершения первого вызова записи, второй вызов записи также был сделан для отправки другого фрагмента данных.

Что происходит? Второй вызов ждет, когда первый звонок будет полностью завершен, прежде чем отправлять куски?

+0

Нет, это добавлено в буфер. – sashoalm

ответ

1

Данные буферизуются, по крайней мере, системным стеком TCP, поэтому каждый вызов write «просто» добавляет новый фрагмент к неписаным данным, ожидающим отправки.

Но если вы вызываете write из 2 несинхронизированных потоков, результат не определен.