[#SYNCHRONIZED_DUAL]
= SYNCHRONIZED&lowbar;DUAL
:mrdocs:

NOTE&colon; This API is deprecated&period; Use lock(), wlock(), rlock() or the withLock functions instead&period; In the future it will be marked with a deprecation attribute to emit build&hyphen;time warnings, and then it will be removed entirely&period;

== Synopsis

Declared in `&lt;folly&sol;Synchronized&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
#define SYNCHRONIZED&lowbar;DUAL(n1, e1, n2, e2)

----

== Description

Synchronizes two Synchronized objects (they may encapsulate different data)&period; Synchronization is done in increasing address of object order, so there is no deadlock risk&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *n1*
| Name bound to the first object&apos;s datum&period;
| *e1*
| The first `Synchronized` object&period;
| *n2*
| Name bound to the second object&apos;s datum&period;
| *e2*
| The second `Synchronized` object&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
