Is your feature request related to a problem? Please describe.
Currently, we allocate a lot of physical threads to perform blocking gRPC long poll requests. This doesn't make sense as it creates a lot of semi-active threads with a lot of context switching that just does a blocking io inside.
Describe the solution you'd like
We should have two threads for Pollers. One for Workflow Task Pollers, one for Activity Task Pollers. They should handle all corresponding long poll requests in an async manner.