我们有一个实时 linux 用户应用程序,它通过mkfifo()
FIFO 与运行在同一主机上的另一个应用程序通信。我们的应用程序包含 4 个 pthread,其中之一创建并打开 FIFO。FIFO 在非阻塞 (O_NONBLOCK) 模式下打开。
write()
在 pthread 上到输出 FIFO 通常需要大约。8 微秒 - 这适用于最长约 2500 字节的消息。对我们来说,问题是偶尔,但经常,它需要 10 倍,而且很少需要几毫秒。发生这种情况时,消息长度不会比平时长。
大概有一些事情发生在“引擎盖下”,导致了这种情况。有什么办法可以避免吗?write()
只要我们没有看到很长的时间,平均时间是否有所增加也没关系。
感谢您收到任何意见/建议。