Rendezvous Statement

Action

Blocks execution of the calling thread until all threads that were spawned by the calling thread have completed. When the last child thread exits, it unblocks the parent thread. The rendezvous statement is unnecessary if it is the last statement at the end of the testcase. If the calling thread has no child threads, rendezvous does nothing.

Syntax

rendezvous

Notes

  • To create, or "spawn," multiple threads, use the statements parallel, spawn, rendezvous, and critical.

  • When the last child thread exits, rendezvous unblocks the parent thread. If the calling thread has no child threads, rendezvous does nothing.

Example

[-] 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) 
		[ ] spawn 
	[-] UpdateDatabase (client1_handle) 
		[ ] spawn
	[ ] UpdateDatabase (client2_handle)
	[ ] rendezvous
	[ ] Disconnect (server_handle)
	[ ] Disconnect (client1_handle)
	[ ] Disconnect (client2_handle)