Java语言锁
示例
可以使用FileChannel可以从InputOutputstreams和readers
例子streams
//打开文件流FileInputStreamios=newFileInputStream(filename);
// 获取基础渠道
FileChannel channel = ios.getChannel();
/*
*尝试锁定文件。true表示锁是否共享,即多个进程可以获取一个锁
*使用false和readable channel only的共享锁(只读)将生成异常。你应该
*使用false时,请使用可写通道(取自FileOutputStream)。特洛克总是会马上回来
*/
FileLock lock = channel.tryLock(0, Long.MAX_VALUE, true);
if (lock == null) {
System.out.println("Unable to acquire lock");
} else {
System.out.println("Lock acquired successfully");
}
// 您还可以使用阻止调用,该调用将一直阻止直到获得锁为止。
channel.lock();
//一旦完成所需的文件操作。释放锁
if (lock != null) {
lock.release();
}
// 之后关闭文件流
// 读者范例
RandomAccessFile randomAccessFile = new RandomAccessFile(filename, "rw");
FileChannel channel = randomAccessFile.getChannel();
//重复与上述相同的步骤,但是现在您可以在通道处于读写模式时将shared用作true或false
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短