gflock

    安装模块

    接口文档

    https://godoc.org/github.com/gogf/gflock

    我们将这个程序运行两次,会生成两个进程,进程ID分别为2569425737(通过ps命令或者进程管理器查看)。两个进程都会操作同一个文件锁demo.lock文件,但是只有第一个进程得到了该文件锁操作权限,第二个进程25737只有等待该文件锁释放之后才能进一步操作,因此被阻塞。程序中的Sleep操作正是为了演示这一阻塞结果而特意设定的。当第一个进程25694释放文件锁之后,第二个进程25737将会立即开始执行。最终的执行结果如下(注意打印时间的差异):

    进程1():