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失败,就不会再次启动服务端了。
欢迎评论交流