首页 一天一个Qt类系列1:QLockFile
文章
取消

一天一个Qt类系列1:QLockFile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
使用一个文件在进程间提供锁定

用于防止多个进程同时访问同一资源

短时间操作可以调用lock等待操作完成。

如果操作时间很长,可以调用setStateLockTime(0)设定锁定文件过时的时间, 然后用一个很短的超时进行tryLock,如果获得锁,返回true

一般可以使用 QDir::temp().absoluteFilePath("test.lock"); 来生成锁定文件

tryLock传递一个负数作将永远等待,直到锁定文件可以被锁定。相当于调用lock

示例用法:
客户端和服务端使用同一个lockfile. 客户启动时tryLock成功后,unlock并启动服务端。服务端启动后tryLock但是不

调用unlock,这样下次客户端启动时tryLock失败,就不会再次启动服务端了。

欢迎评论交流

本文由作者按照 CC BY 4.0 进行授权