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

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

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

  • 写回答

1条回答 默认 最新

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

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

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵