Start Synch Block

From PresenceWiki
Revision as of 12:39, 7 March 2012 by Mattpryor (Talk | contribs)

Jump to: navigation, search

The Start Synch Block Node begins a synchronized block of task elements. Any task elements between this node and a corresponding [End Synch Block] node will be prevented from running simultaneously, whether those elements are in the same Task (for instance in a separate thread) or in a different Task on a different server.

When dragging a Start Synch Block node into your Task, the user is presented with the following dialog:

Locking Identifier

This field should represent the identifier for this lock. This means that any other Start Synch Block nodes with the same identifier will wait for this one to be completed (by the corresponding End Synch Block node) before entering the block. For example, Task A has a Start Synch Block with the identifier "LOCK_A". Task B also has a Start Synch Block with the same identifier. Whichever of these Tasks runs first, or reaches the Start Synch Block node first, will prevent the other from running until the corresponding End Synch block node has executed.

Lock Timeout

If another Start Synch Block node shares the identifier and currently owns the lock, this node will wait for this period to gain the lock. If it cannot obtain the lock in that time period the current Task or thread will exit with an error.

Maximum Retain Time

This causes the synchronize lock to only be held for a maximum of n seconds. When that period of time has expired the lock will be released, allowing other Tasks to continue, regardless of whether the End Synch Block node has executed.