QRecursiveMutex¶
The
QRecursiveMutex
class provides access serialization between threads. More…
New in version 5.14.
Detailed Description¶
The
QRecursiveMutex
class is a mutex, likeQMutex
, with which it is API-compatible. It differs fromQMutex
by acceptinglock()
calls from the same thread any number of times.QMutex
would deadlock in this situation.
QRecursiveMutex
is much more expensive to construct and operate on, so use a plainQMutex
whenever you can. Sometimes, one public function, however, calls another public function, and they both need to lock the same mutex. In this case, you have two options:
Factor the code that needs mutex protection into private functions, which assume that the mutex is held when they are called, and lock a plain
QMutex
in the public functions before you call the private implementation ones.Or use a recursive mutex, so it doesn’t matter that the first public function has already locked the mutex when the second one wishes to do so.
- class PySide2.QtCore.QRecursiveMutex¶
Constructs a new recursive mutex. The mutex is created in an unlocked state.
See also
lock()
unlock()
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.