我想做以下事情:
我想使用 GUILE 在普通文件中实现 FIFO 的概念。
两个进程应该通过一个普通的文本文件进行通信,如果需要,第三个进程可以访问。
原来两个进程的从属应该一行一行的写在文件中,也就是追加。到目前为止,一切都很好。(在 C++ 中实现)
然而,主进程应该将此文件视为 FIFO,它应该读取第一行,并执行相应的操作,并删除第一行,其余部分保持不变。
问题是:
- 当 Master 访问文件时,从属可能会到达必须在那里写入的点,从而导致冲突。
- 弹出第一行可能需要读取整个文件,在一个字符串中,弹出第一个文件,然后保存它,这是内存密集型的,第二个保存操作可能再次与试图在那里写的孩子发生冲突,
我想在 GUILE 中实现这一点,因为它是官方的操作系统扩展语言,可能有更好的方法来解决上述两个问题。
但是在网络上,我找不到太多可以定位的东西。请帮忙,抱歉这个问题比具体问题少,然后我没有要显示的代码片段。