gpt4 book ai didi

java - 在操作系统级别的一个原子操作中创建和写入文件

转载 作者:行者123 更新时间:2023-11-29 05:51:52 26 4
gpt4 key购买 nike

所以我需要创建一个文件,然后向其中写入一行,这必须是原子的。这样在初始化时没有其他进程可以修改文件。
我有一个想法,在持有锁的同时锁定不同的东西,进行操作然后释放锁让另一方进入。但这很乏味,也可能是错误的,因为创建锁和获取锁可能是不是原子的(我猜)。没有其他办法吗?

最佳答案

我建议您编写临时文件,然后将其重命名 到您的文件中。我不确定此操作是否在 java 中实现为所有操作系统的原子操作,但至少在 Unix 上你有机会,因为我认为它使用与 mv 相同的调用,即原子操作。

我想在 Windows 上它不会是真正的原子。对于大多数应用程序来说,这将是“几乎原子的”。

关于java - 在操作系统级别的一个原子操作中创建和写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13586586/

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