| 
					
				 | 
			
			
				@@ -44,14 +44,21 @@ func main() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		w.Shutdown(nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}, nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Just wait for goroutines 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	time.Sleep(3 * time.Second) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Shutdown first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Normally, it's must be used with context 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	w1.Shutdown(nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Shutdown second 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Normally, it's must be used with context 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err := w2.Shutdown(nil); err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		fmt.Printf("Worker #2 shutdown error: %s\n", err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Wait for third 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Will be exited automatically 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	time.Sleep(1 * time.Second) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	fmt.Printf("End!\n") 
			 |