【发布时间】:2019-11-01 06:28:40
【问题描述】:
我正在使用 Altera DE1-SoC 板,我正在使用 C 程序从传感器读取数据。在 while 循环中不断读取数据并将其写入文本文件。我想使用 python 程序读取这些数据并显示数据。
问题是我不确定如何在文件读/写期间避免冲突,因为这些需要同时发生。我正在考虑创建一个互斥锁,但我不确定如何实现它,以便两种不同的程序语言可以使用它。
有没有简单的方法来做到这一点?谢谢。
【问题讨论】:
-
为什么要写入文件?将数据写入管道似乎更干净。
-
@WilliamPursell 这对我来说似乎更简单。你能解释一下我将如何读写fifo或管道吗?它仍然让我感到困惑,因为我使用了两种不同的程序语言。
-
linux.die.net/man/1/mkfifo 可能会给你一个很好的起点
-
如果您在托管系统上,您可能只使用命名管道:
mkfifo /tmp/fifo; cmd1 > /tmp/fifo & cmd2 < /tmp/fifo。 cmd1 是 C、python、java 还是 ada 都没关系。语言无关紧要。 -
@william:你甚至不需要外壳。 man7.org/linux/man-pages/man3/mkfifo.3.html