Mutex

The Mutex component locks the thread associated with the specified ID.

This component can be used to create mutex locks. Until the lock is destroyed, other flows are blocked from locking the mutex specified by the assigned ID. Until the lock expires or the flow ends, the lock can not be extended. When a lock is activated and several threads are waiting on this lock, which of the threads will be activated first is not predictable.

Stream Information

InputFormatAll
Number of Inputs1
OutputFormatAll
Description

The input stream is copied to the output stream.

Component Properties

NameData Type/SelectionMappingDescription
IDstringYes

The lock ID.

If no lock ID is specified, a default ID is assigned. The default ID is of the form:

{OwnerName} + {ProjectName} + {FlowName}

ExclusionLockCheckchoiceNone If specified true . when lock is already actived , component throw an exception .

true - an exception is thrown.
false - an exception is not thrown.
TimeoutintNone

The length of time in seconds that the lock is to exist.

An Exception is thrown if the lock is not activated before the timeout.

The timeout can not be set to zero.

ActionchoiceNone

Defines whether to lock, or unlock.

If unlocking, it is possible to unlock a mutex held by another thread.

Loop Management

This component cannot be the starting point for a loop.

Transaction Management

Commit

Do Nothing

Rollback

Do Nothing

Exceptions

TypeParametersFlow Input StreamError CodeCause
Exception none

This component's input stream.

none The lock is not activated before the specified timeout.
none When ExclusionLockCheck is true and the lock is already actived.