Le 20/02/13 03:08, Gabriel Bizzotto a écrit :
My class allows in addition to lock several synchronized values using the deadlock free lock algorithm as e.g.
I did not understand the unique_synchronize part, though.
synchronize() returns a strict_lock_ptr which is something like a
lock_guard that is not Lockable.
unique_synchronize() returns a unique_lock_ptr which is something like a
unique_lock (Lockable) and can be used with dead-lock free algorithms.
This facility can be used when locking several synchronized_value
instances to avoid dead-lock.
this dead-lock algorithm is used e.g. to define the assignment operation
as follows
synchronized_value& operator=(synchronized_value const& rhs)
{
if(&rhs != this)
{
unique_lock