| 
 Relates :   
 | 
GC Service threads include:
    - ConcurrentG1RefineThread
    - G1YoungRemSetSamplingThread
    - ConcurrentMarkThread
These threads have a common initialization/termination protocol in their run() and stop() methods. Pull these up to ConcurrentGCThread and add virtual run_service()/stop_service() methods.
There are a few extra complications that will also need to be handled (like G1StringDedupThread already has a static stop() method).