java OverlappingFileLockException文件锁

java OverlappingFileLockException文件锁RandomAccessFilefile=newRandomAccessFile(“test.txt”,”rw”);FileChannelfileChannel=file.getChannel();FileLocklock=fileChannel.lock();上面的java文件锁是进程级别的,也就是说,如果一个进程的一个线程获取锁后,在没有释放该锁之前又有另外一个线程要获取同一个文件的锁,这时这个线程并不会等待,而是会抛出OverlappingFileLockExceptio

大家好,又见面了,我是你们的朋友全栈君。

RandomAccessFile file = new RandomAccessFile("test.txt", "rw");
FileChannel fileChannel = file.getChannel();
FileLock lock = fileChannel.lock();

上面的java文件锁是进程级别的,也就是说,如果一个进程的一个线程获取锁后,在没有释放该锁之前又有另外一个线程要获取同一个文件的锁,这时这个线程并不会等待,而是会抛出OverlappingFileLockException

解决方法:使用synchronized

  synchronized (o) { 
   
      RandomAccessFile file = new RandomAccessFile("test.txt", "rw");
      FileChannel fileChannel = file.getChannel();
      FileLock lock = fileChannel.lock();

  }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153458.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用 HTML、CSS 和 JS 创建在线音乐播放器(含免费完整源码)

    使用 HTML、CSS 和 JS 创建在线音乐播放器(含免费完整源码)直接跳到末尾获取完整源码今天我将带着大家使用HTML、CSS和JS创建音乐播放器,没有使用任何其他库。我们的音乐播放器具有三个部分。主屏幕、播放器部分和播放列表部分。我们的主页部分有一个平滑的工作滑块,也有水平滚动。这个音乐播放器最好的部分是它最小化了音乐播放器。是的,您可以最小化和最大化播放器本身。使这个项目成为一个很棒的音乐播放器。❤️使用HTML、CSS和JS创建在线音乐播放器❤️????在线演示地址????完整代码结构????home-section首页部分???

    2022年6月26日
    59
  • 16进制如何取出分高位和低位_异或运算只具有两个输入逻辑变量

    16进制如何取出分高位和低位_异或运算只具有两个输入逻辑变量为什么要先高16位异或低16位再取模运算

    2022年4月22日
    280
  • 在centos7上安装夜莺监控

    在centos7上安装夜莺监控所需包(仅作参考)在/opt目录下建立目录/n9e和/temp安装包存放在/opt/temp目录下mysql-5.7.31-linux-glibc2.12-x86_64.7znginx-1.14.2.7zp7zip-16.02-10.el7.x86_64.rpmredis-6.0.6.7zn9e-2.7.2.7z1.安装7zrpm-ivhp7zip-16.02-10.el7.x86_64.rpmyum-yinstallepel-releaseyum-yi

    2022年5月30日
    52
  • 算法时间复杂度的计算

    算法时间复杂度的计算一、算法时间复杂度定义在进行算法分析时候,语句总的执行次数T(n)是关于问题规模n的函数,进而分型T(n)随着n的变化情况并确定T(n)的数量级.算法的时间复杂度,也就是算法的时间度量记作:T(n)=O(f(n)).它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称时间复杂度.其中f(n)是问题规模n的某个函数.简单来说T…

    2022年5月14日
    49
  • 文本分类算法之–贝叶斯分类算法的实现Java版本

    文本分类算法之–贝叶斯分类算法的实现Java版本package com.vista;import java.io.IOException;      import jeasy.analysis.MMAnalyzer;/*** 中文分词器*/public class ChineseSpliter {    /**    * 对给定的文本进行中文分词    * @param text 给定的文本   

    2022年5月30日
    28
  • Linux系统安装Nodejs(4.4.7)

    Linux系统安装Nodejs(4.4.7)

    2021年9月6日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号