下面介绍文件加锁
两种方式:锁的类型包括 共享式和独占式,前者是可以运行多个读,后者是只运行一个。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.channels.FileLock;
public class Write {
public static void main(String[] args) throws InterruptedException,
IOException {
File f=new File("d:/liujg");
if(f.exists())//已存在则不处理了
return;
FileOutputStream fos = null;
try {
fos = new FileOutputStream("d:/liujg");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
FileLock fl = null;
try {
fl = fos.getChannel().tryLock(0, 1, false);//设置为独占式
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (fl == null)//多个进程中,只有一个进程的fl不为null
return;
//do other
fl.release();//释放,未释放之前其他的进程都进入不了
fos.close();
System.out.println("\n333333\n");
}
}
分享到:
相关推荐
当有多个工作线程要同时对一个文件进行写操作时,如果不对该文件进行加锁就可能会因误操作而引起一系列的问题。本文介绍了使用Flock函数来对文件进行保护。
使用VS2019开发,Qt 界面程序。详细演示了锁对多线程访问资源时的影响,文件锁,消费生产锁模型,对学习线程同步和 Qt GUI 编程开发具有指导意义。如有不懂可私信博主,支持自定义更新。
用于给各种文件加锁的一种工具,多多下载,没有木马。
文件加锁工具.rar 任何文件都可以加上密码锁!很强大的工具!
用于队txt,word之类的文本文件,图片的加密,防止被别人偷看,可以有效的保护你的隐私信息
Python的多线程在io方面比单线程还是有优势,但是在多线程开发时,少不了对文件的读写操作。在管理多个线程对同一文件的读写...LOCK_SH:表示要创建一个共享锁,在任意时间内,一个文件的共享锁可以被多个进程拥有 L
这是最新的免费的加锁工具 支持全面加锁 功能绝对全面 强大! 而且最重要的一点是:免费!
NULL 博文链接:https://lchshu001.iteye.com/blog/1461841
代码可单独的功能模块使用,直接调用接口即可 不适合用于多线程环境中
java 进程通信 内存共享 文件加锁
多线程文件加锁自动定时查询mysql统计数据 多线程文件加锁自动定时查询mysql统计数据
计算机软件-商业源码-查看某一文件被谁加锁.zip
易语言程序加锁源码,程序加锁,取扩展名,取文件扩展名_
ACAD加锁程序ACAD加锁程序ACAD加锁程序ACAD加锁程序
网络游戏-网络文件系统联合命名空间内文件加锁的系统与方法.zip
masm32 程序源代码-exe文件加锁器,用于在exe文件运行之前显示一个密码输入窗口,
文件夹万能解锁器程序支持netlock、文件夹加锁王、文件夹加密隐藏王、文件夹看门狗、移动加密、极品密盘、高强度文件夹加密大师、隐形文件夹等软件,理论上只要是采用..\和伪装文件夹方式加密的程序都可以用本程序...
“文件夹加锁隐藏伪装专家”是一款优秀的文件夹保护软件,可以对文件夹进行打开加密码、隐藏、伪装等的保护。使用简单,操作快捷、方便。是解决你文件保密的最佳助手! 软件功能特点: 1. 操作简单:本...
不借助软件如何给U盘文件加锁.docx
MySQL 加锁处理分析 MySQL 加锁处理分析 MySQL 加锁处理分析