TestStand 2019 Help
»View Product Info
Use a Rendezvous step to make threads wait for each other before proceeding past a location you specify. Each thread blocks as it performs the Rendezvous operation. When the number of blocked threads reaches the total number you specified when you created the rendezvous, the rendezvous unblocks all the waiting threads, and the threads resume execution.
Configuring the Step
Use the Rendezvous Settings edit tab in the TestStand Sequence Editor and the Rendezvous Step Configuration dialog box in a TestStand User Interface to configure the Rendezvous step.
In addition to the common custom properties, the Rendezvous step type defines the following step properties:
- Step.Result.TimeoutOccurred—Exists only when you configure the step for the Rendezvous operation. TestStand sets the value to True when the Rendezvous operation times out.
||Note If you configure the step to use the Rendezvous operation programmatically using the Step.Operation property, you must also create the Step.Result.TimeoutOccurred property using the newProperty() method for the step to execute successfully.
- Step.NameOrRefExpr—Contains the Rendezvous Name expression for the Create operation and the Rendezvous Name or Reference expression for all other Rendezvous operations.
- Step.LifetimeRefExpr—The object reference expression for the Rendezvous Reference Lifetime when you set the lifetime to Use Object Reference.
- Step.TimeoutEnabled—The Timeout Enabled setting for the Rendezvous operation.
- Step.TimeoutExpr—The Timeout expression, in seconds, for the Rendezvous operation.
- Step.ErrorOnTimeout—The Timeout Causes Run-Time Error setting for the Rendezvous operation.
- Step.AlreadyExistsExpr—Contains the Already Exists expression for the Create operation or the Rendezvous Exists expression for the Get Status operation.
- Step.RendezvousCountExpr—The Number of Threads Per Rendezvous expression for the Create operation.
- Step.NumThreadsWaitingExpr—The Number of Threads Waiting for Rendezvous expression for the Get Status operation.
- Step.Operation—A value that specifies the operation for the step to perform. The valid values are 0 = Create, 1 = Rendezvous, and 2 = Get Status.
- Step.Lifetime—A value that specifies the Lifetime setting to use for the Create operation. The valid values are 0 = Same as Sequence,
1 = Same as Thread, 2 = Use Object Reference, and 3 = Same as Execution.
- Step.RendezvousCountOutExpr—The Number of Threads Per Rendezvous expression for the Get Status operation.
Controlling Multi-Threaded Execution Flow with Rendezvous and Semaphore Steps (Example)