Loading... (original) (raw)
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).