如何在降雪(R)中实现对write.table的锁定?

时间:2015-12-01 09:59:23

标签: r multithreading locking snowfall

我正在尝试使用write.table()将多个降雪线程写入同一文件。在少数情况下,行被破坏,即我看到它看起来像是混合了多行,我猜想当两个线程同时尝试写入同一个文件时。

一个例子是:

require(snowfall)
sfInit(parallel = TRUE, cpus = 16)
sfLapply(1:10000,function(x){
mytable = data.frame(a = c(1,2,3),b = c(4,5,6))
write.table(mytable,"mytable.csv",sep = ',',append = T,col.names = F)
})

有没有办法确保一次只有一个线程写入文件,本质上一个线程锁定文件,写入它然后释放锁?

0 个答案:

没有答案