•Managing and recycling a massive number of goroutines automatically
•Purging overdue goroutines periodically
•Abundant APIs: submitting tasks, getting the number of running goroutines, tuning the capacity of the pool dynamically, releasing the pool, rebooting the pool, etc.
•Handle panic gracefully to prevent programs from crash
•Efficient in memory usage and it may even achieve *higher performance* than unlimited goroutines in Go