在节点中同步文件写入

时间:2013-09-12 16:43:36

标签: javascript node.js

我有一个内存中的节点/ js对象,我备份到光盘(我正在使用JSON),目前使用fs.writeFile()。

如果经常发生这种情况,我如何确保多个文件写入不会交错,从而破坏数据?我没有在文档中看到任何建议fs.writeFile对该文件进行独占访问。我知道我可以使用同步版本,但这反而忽略了这一点。

我仍然是node.js的新手,所以请原谅我这是一个愚蠢的问题,还是之前已经回答过(我做过搜索)。

感激地收到提示或链接。

感谢。

1 个答案:

答案 0 :(得分:0)

就像在任何其他环境中一样,您必须手动同步它们,只有您的应用程序知道何时可以交错等等的“逻辑”。

在其他环境中,如果是您尝试同步的线程,则可以使用锁定/信号量。在节点中,在不知道关于你的应用程序的任何其他内容的情况下,我想我会选择一个队列:每次你想要专门写一些东西到文件中,把这些东西排队,然后让一个单独的“工人”出列并写入。