Java中的File.rename()-这是原子操作吗? [重复]

|                                                                                                                   这个问题已经在这里有了答案:                                                      
已邀请:
重命名操作可能是原子的,也可能不是原子的,它可能成功也可能不会成功 目标名称下是否已存在文件或目录。在Unix上,两个单独的操作 必须执行。首先,必须测试目标名称下是否存在文件。然后,如果不存在这样的文件,则可以继续进行操作,并将源文件重命名为目标名称。在这两个操作之间,可能会在目标名称下创建一个新文件,并且由于rename()系统调用是原子的,并且会破坏目标,因此将删除该新文件。     
没有。 至少因为VM可能恰好在它离开代码后(在您输入File.rename()之后)以及File.rename()代码开始运行之前被杀死。     

要回复问题请先登录注册