0

根据这里http://doc-snapshot.qt-project.org/4.8/qiodevice.html

QIODevice 的某些子类,例如 QTcpSocket 和 QProcess,是异步的。

例如,已经进行了第一次写入调用以发送一大块数据。现在,在第一次写入调用完成之前,还进行了第二次写入调用以发送另一块数据。

现在会发生什么?在开始发送块之前,第二个调用是否等待第一个调用完全完成?

4

1 回答 1

1

数据至少由系统 TCP 堆栈缓冲,因此每次调用write“just”都会将新块附加到等待发送的未写入数据。

但是如果你write从 2 个不同步的线程中调用,结果是未定义的。

于 2012-04-21T20:36:37.973 回答