yuioplzc 2019-06-24 16:04 采纳率: 0%
浏览 392

Linux环境上Java File.renameTo方法重命名文件不同步问题

今天Linux环境上遇到个报错,经查日志发现两个JVM进程里几乎同时对同一个文件进行相同操作的重命名(File.renameTo)都返回true。 基本确定这方法是个非同步的操作了,刷新了认知.... 因为这方法底层是个native方法,所以不容易分析也不容易造出同样的问题场景,有谁同样遇到过,求分析

  • 写回答

1条回答 默认 最新

  • 被遗忘的DIA 2024-05-07 13:58
    关注

    这与是不是Native方法有关系吗?
    进程就是用来隔离资源用的。2个无关联的进程什么都没有做,自然是没法同步彼此的。需要调用操作系统API才能跨进程同步,例如Linus的 chattr 命令,就可以用来锁定文件。

    评论

报告相同问题?