Qyoto
4.0.5
Qyoto is a C# language binding for Qt
|
The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access. More...
Public Member Functions | |
QWriteLocker (QReadWriteLock readWriteLock) | |
| |
virtual void | CreateProxy () |
new QReadWriteLock | ReadWriteLock () |
| |
new void | Relock () |
| |
new void | Unlock () |
| |
new void | Dispose () |
Protected Member Functions | |
QWriteLocker (System.Type dummy) | |
Protected Attributes | |
SmokeInvocation | interceptor |
Properties | |
virtual System.IntPtr | SmokeObject [get, set] |
The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access.
The purpose of QWriteLocker (and QReadLocker is to simplify QReadWriteLock locking and unlocking. Locking and unlocking statements or in exception handling code is error-prone and difficult to debug. QWriteLocker can be used in such situations to ensure that the state of the lock is always well-defined.
Here's an example that uses QWriteLocker to lock and unlock a read-write lock for writing:
QReadWriteLock lock;
void writeData(const QByteArray &data)
{
QWriteLocker locker(&lock);
...
}
It is equivalent to the following code:
QReadWriteLock lock;
void writeData(const QByteArray &data)
{
lock.lockForWrite();
...
lock.unlock();
}
The QMutexLocker documentation shows examples where the use of a locker object greatly simplifies programming.
See also QReadLocker and QReadWriteLock.
|
protected |
QtCore.QWriteLocker.QWriteLocker | ( | QReadWriteLock | readWriteLock | ) |
Constructs a QWriteLocker and locks lock for writing. The lock will be unlocked when the QWriteLocker is destroyed. If lock is zero, QWriteLocker does nothing.
See also QReadWriteLock::lockForWrite().
|
virtual |
new void QtCore.QWriteLocker.Dispose | ( | ) |
new QReadWriteLock QtCore.QWriteLocker.ReadWriteLock | ( | ) |
Returns a pointer to the read-write lock that was passed to the constructor.
new void QtCore.QWriteLocker.Relock | ( | ) |
Relocks an unlocked lock.
See also unlock().
new void QtCore.QWriteLocker.Unlock | ( | ) |
Unlocks the lock associated with this locker.
See also QReadWriteLock::unlock().
|
protected |
|
getset |