- factory mode - sync function for test - work stealing mode, keep one goroutine pool - recycle goroutine with time or jobCount