2015-01-26 44 views
0

这个论坛的新手 - 看起来不错! 我有一些处理代码,定期从远程设备无线读取数据,并将该数据作为字节写入文件,例如data.dat文件。我想使用Xcode在Mac Mini上编写Objective C程序来读取此文件,解析数据并在数据值指示问题时对数据执行操作。我的问题是:我的两个不同的程序可以异步访问相同的文件吗?如果这个一个问题,你可以建议一种技术,将允许这些操作? 谢谢, Kevin H.两个程序访问一个文件

+0

使用标签时请多加注意。 “Processing”是一种编程语言,你的问题与该语言无关。 – 2015-01-27 02:59:51

+0

感谢您的评论。我将来会更加小心。虽然我没有明确说明,Processing代码写入文件,我想用我的C代码读取该文件,所以在技术上,我的问题确实与Processing有关,但我没有说清楚。 – kjhart0133 2015-01-27 21:00:05

回答

0

多个进程可以一次读取同一个文件,没有任何问题。一个进程也可以从一个文件中读取,而另一个写入没有问题,但是你必须小心确保你读入任何写入的新数据。尽管如此,多个进程不应该写入同一个文件。操作系统会让你这样做,但是数据的排序是不确定的,你会喜欢覆盖数据 - 总的来说,如果你这样做,你会有一段糟糕的时间。所以你应该注意确保一次只有一个进程写入文件。

保护文件以便一次只能有一个进程可以写入的最简单方法是使用C函数flock(),尽管该函数有一点基本,可能会或可能不适合您的用例。

+0

这正好解决了我的问题。感谢您提供有用,简洁的答案。 – kjhart0133 2015-01-27 21:02:09

相关问题