The WAIT statement synchronizes operations between threads. 
               	 
            
 
            	 
            
               General Format
 
               		 
               		WAIT FOR { THREAD thread-ID         }
         { LAST THREAD              }
         { ANY THREAD               } 
               		Remaining phrases are optional, can appear in any order. 
                  		
               
 
               		{ BEFORE TIME timeout }
{ TEST ONLY }
THREAD IN thread-2
SIZE IN size-item
STATUS IN status-item
[ ON EXCEPTION statement-1 ]
[ NOT ON EXCEPTION statement-2 ]
[ END-WAIT ] 
               	   
            	 
            
               Syntax Rules
 
               		 
               		
                
                  		  
                  - thread-ID and 
                     			 thread-2 are usage HANDLE or HANDLE OF THREAD data items. Thread-2 may not be indexed or reference modified. 
                     		  
                  
  
                  		  
                  - timeout is a numeric literal or data item. 
                     		  
                  
  
                  		  
                  - size-item is a numeric data item. It may not be indexed or reference modified. 
                     		  
                  
  
                  		  
                  - status-item is a two-character group item, PIC XX, or PIC 99 data item. It may not be indexed or reference modified. 
                     		  
                  
  
                  		  
                  - statement-1 and 
                     			 statement-2 are any imperative statements. 
                     		  
                  
  
                  		
               
 
               	 
              
            	 
            
               General Rules
 
               		 
               		
                
                  		  
                  - The WAIT statement waits for a thread to terminate or send a message. The thread waited on is determined as follows: 
                     			 
                     
 
                        				
                        - FOR THREAD 
                              					 thread-ID specifies the thread identified by thread-ID. 
                           				
                        
  
                        				
                        - FOR LAST THREAD specifies the last thread. See 
                           				  Thread Fundamentals in the  
                           				  ACUCOBOL-GT User's Guide for a discussion of the last thread. 
                           				
                        
  
                        				
                        - FOR ANY THREAD specifies all threads. The first one to terminate or send a message satisfies the WAIT statement. 
                           				
                        
  
                        			 
                     
                     		  
                    
                  		  
                  - If a message is available when the WAIT statement executes, then WAIT statement finishes immediately. 
                     		  
                  
  
                  		  
                  - When BEFORE TIME is specified, the WAIT statement will time-out after the specified (timeout) number of hundredths of seconds.
                     If the WAIT statement times out before receiving a message, it terminates with an exception condition and it does not modify
                     
                     			 thread-2 or 
                     			 size-item. If timeout is zero, then the WAIT statement times-out immediately if a message is not available. Specifying TEST ONLY is
                     equivalent to specifying a timeout value of zero. 
                     		  
                  
  
                  		  
                  - If the thread waited for does not exist or terminates before sending a message, then the WAIT statement terminates with an
                     exception condition and does not modify 
                     			 size-item. Such a condition is reflected in the status code placed in 
                     			 status-item. Note that the test occurs before the time-out test in the case that timeout is zero or TEST ONLY is specified. 
                     		  
                  
  
                  		  
                  - The WAIT statement places the thread ID of the sending or terminating thread in 
                     			 thread-2.
                     		  
                  
  
                  		  
                  - The size of the message sent is placed in 
                     			 size-item. The size is expressed in standard character positions (bytes). 
                     		  
                  
  
                  		  
                  - The status of the WAIT statement is placed in 
                     			 status-item. The following values are possible (these approximate the standard file status codes): 
                     			 
                     
 
                        			 
                        
                            
                              				   
                              				   
                              				  
                               
                                 					 
                                  
                                    						
                                    | "00" 
                                       						
                                     |  
                                    						
                                    Success - message received 
                                       						
                                     |  
                                    					 
                                 
 
                                 					 
                                  
                                    						
                                    | "10" 
                                       						
                                     |  
                                    						
                                    Exception - thread does not exist or terminated 
                                       						
                                     |  
                                    					 
                                 
 
                                 					 
                                  
                                    						
                                    | "99" 
                                       						
                                     |  
                                    						
                                    Exception - timed-out 
                                       						
                                     |  
                                    					 
                                 
 
                                 				  
                               
                              				
                           
                          
                        			 
                      
                     		  
                    
                  		  
                  - If the WAIT statement is successful (as indicated in rule 7), it executes 
                     			 statement-1. If an exception condition exists, it executes 
                     			 statement-2 instead.