Tag: output buffering

SerialPort写缓冲区的目的是什么?

从SerialPort对象外部来看,写缓冲区的大小以及它是否已满是没有区别的。 使用同步写入,write方法将阻塞,直到所有数据都已发送且缓冲区为空。 使用异步写入,数据排队,程序继续运行。 在写操作完成且数据超出缓冲区之前,不会调用回调方法。 无论缓冲区中有多少数据以及缓冲区是否已满,serialport对象的行为似乎都是相同的。 写缓冲区已满时,似乎没有错误发生。 那么,为什么能够检查BytesToWrite和WriteBufferSize呢? 当写缓冲区已满时,SerialPort是否有任何不同的行为方式?