Parallel Statement

Action

Each of the statements within the parallel block creates a separate thread and these threads are executed in parallel until the end of the block. At the end of the parallel block, all running threads are held until the last thread completes its execution within the block. When all threads have completed within the block, the script continues.

Syntax

parallel
statements
Variable Description
statements One or more statements to be executed in a new thread.

Notes

Unlike the spawn command, the parallel statement does not require a rendezvous statement to synchronize threads.

You create, or "spawn," multiple threads using combinations of the 4Test statements parallel, spawn, rendezvous, and critical.

The parallel statement is shorthand for a series of spawn and rendezvous statements:

This Statement... Is Equivalent To These Statements...
parallel
statement-1
statement-2
spawn statement-1
spawn statement-2
rendezvous

Example

The following example is functionally equivalent to the one shown for spawn and rendezvous.
[-] main ()
	[ ] HMACHINE client1_handle
	[ ] HMACHINE client2_handle
	[ ] HMACHINE server_handle
	[ ] server_handle = Connect ("server")
	[ ] client1_handle = Connect ("client1")
	[ ] client2_handle = Connect ("client2")
	[ ] DoSomeSetup (server_handle)
	[ ]   
	[-] parallel
		[ ] UpdateDatabase (client1_handle)
		[ ] UpdateDatabase (client2_handle)
	[ ] 
	[ ] Disconnect (server_handle)
	[ ] Disconnect (client1_handle)
	[ ] Disconnect (client2_handle)