As a client of grpc I want to be aware of which threads are being
created by grpc, and giving them recognizable names makes it significantly
easier to diagnose what is going on in my programs.
This provides thread names for macOS and Linux. Adding support for other
platforms should be easy for platform specialists.
This test consumes a huge amount of CPU. On Windows, it additionally starves other tests from getting scheduled - for long enough that those tests time out and fail.
Historically tests starting shortly after this test are the most likely to fail.
Once we've seen all CPU's, we will no longer do anything useful - so check for that, and finish up early whenever possible.