1

我在 Linux 发行版上通过 usbserial 使用 RxTx 库。RxTx 库的行为似乎与它在串行上的工作方式完全不同(以一种糟糕的方式)。

我的应用程序有多个线程,我最大的问题之一是,我的流中似乎突然多了一到两个字节。我无法弄清楚它们来自哪里或为什么。当我使用另一个线程写入 RxTx 流时,这个问题似乎更频繁地发生。

所以我想知道是否应该在当前的 RxTx 线程上处理读取,或者当我收到 DATA_AVAILABLE 事件时是否应该在另一个线程上处理读取。

我希望有人可能有好的或坏的理由这样做。

4

1 回答 1

1

这只是一个猜测,但它可能会给你一个线索。

发送和接收是否有可能共享一个缓冲区,或者当您发送时,字节也会以某种方式在输入上被接收到 - 我以前在某些嵌入式系统上看到过这一点。

您可能会发现最好的办法是最初将发送和接收保持在同一个线程上。另一件事可能是在尝试读取之前确保输出耗尽。

希望这可以给你一些线索。

于 2008-09-19T22:53:35.770 回答