gpt4 book ai didi

node.js - 多个异步文件 append 到同一个文件是否安全?

转载 作者:搜寻专家 更新时间:2023-11-01 00:01:37 24 4
gpt4 key购买 nike

看看下面的伪代码,是否有可能对文件的写入被破坏?

for(var i=0;i<5;i++)
fs.appendFile("myfile.txt", "myline"+i+'\n', somecallback)

FS 是 found here

我期望的可能性:

myline3
myline4
myline1
myline2
myline0

但这可能吗?

mylimyline4
ne3
myline1
myline2
myline0

在这种情况下,第二个追加将发生在第一个追加的中间。因为如果发生这种情况,我将不得不手动对写入进行排队。

最佳答案

我写了一个程序来测试它,但无法让它混合不同的追加。

var fs = require('fs')

var filename = __dirname + '/file.bin'
var bytes_per_buff = parseInt(process.argv[2]) || 4096
var num_buffs = parseInt(process.argv[3]) || 256
var buffs = []

for (var i=0; i<num_buffs; i++) {
buffs[i] = new Buffer(bytes_per_buff)
for (var j=0; j<bytes_per_buff; j++) {
buffs[i][j] = i
}
}

fs.writeFile(filename, '', ()=>console.log('file created'))
for (var i=0; i<num_buffs; i++) {
(function(buff_num) { //closure to log buff_num
fs.appendFile(filename, buffs[buff_num], ()=>console.log(buff_num))
}(i))
}

关于node.js - 多个异步文件 append 到同一个文件是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29051431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com