Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 6 Grouping Activities : Critical Section Groups

Critical Section Groups
Critical section groups are used to synchronize process instances so that only one process instance executes the grouped activities at any given time. Any concurrently running process instances that contain a corresponding critical section group wait until the process instance that is currently executing the critical section group completes.
Critical Section groups are particularly useful for controlling concurrent access to shared variables (see Synchronizing Access to Shared Variables for more information). However, other situations may occur where you wish to ensure that only one process instance is executing a set of activities at a time.
Synchronization Options
Critical section groups can be used to synchronize all process instances for a particular process definition in a single process engine, or you can synchronize process instances for multiple process definitions, or you can synchronize process instances across multiple process engines.
Single Group
If you wish to synchronize process instances for a single process definition in a single process engine, perform the following:
1.
2.
3.
Only one process instance at any given time will execute the activities contained in the Critical Section group.
Multiple Groups
If you wish to synchronize process instances for multiple process definitions, or if you wish to synchronize process instances across multiple process engines, perform the following:
1.
2.
When the process instances are executed by the same process engine, locking is performed in memory. When the process instances are executed across multiple engines, the process engines must be configured to use a database for storage, and a database transaction is performed to ensure that only one process instance is executing the critical section group at any given time.
3.
4.
5.
6.
7.
Usage Guidelines
Because Critical Section groups cause many process instances to wait for one process instance to execute the activities in the group, there may be performance implications when using these groups. In general, you should use the following guidelines when creating critical section groups:

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved