gpt4 book ai didi

dart - 如何锁定文件以在 Dart 中写入

转载 作者:行者123 更新时间:2023-12-04 19:06:59 25 4
gpt4 key购买 nike

我想让两个程序(在不同的 Dart VM 上运行)将数据写入同一个文件(实际上是追加)。但是,我找不到锁或类似的机制来避免赛车。有什么建议吗?谢谢。

最佳答案

刚刚添加了文件锁定。 ( http://dartbug.com/17045 改为固定)

复制示例表格 https://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/tests/standalone/io/file_lock_script.dart?spec=svn42733&r=42733

import "dart:io";

main(List<String> args) {
File file = new File(args[0]);
int start = null;
int end = null;
var mode = FileLock.EXCLUSIVE;
if (args[1] == 'SHARED') {
mode = FileLock.SHARED;
}
if (args[2] != 'null') {
start = int.parse(args[2]);
}
if (args[3] != 'null') {
end = int.parse(args[3]);
}
var raf = file.openSync(mode: WRITE);
try {
raf.lockSync(mode, start, end);
print('LOCK SUCCEEDED');
} catch (e) {
print('LOCK FAILED');
} finally {
raf.closeSync();
}
}

另见 https://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/tests/standalone/io/file_lock_test.dart?spec=svn42733&r=42733一个更广泛的例子。

关于dart - 如何锁定文件以在 Dart 中写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21924211/

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