title: Does -XX:+CMSIncrementalMode run on application threads or in GC-dedicated threads?
body: <p>When reading <a href="https://blogs.oracle.com/jonthecollector/really-icms-really" rel="nofollow noreferrer">Really? iCMS? Really?</a> from this blog, one statement caught my attention:</p>
  
  <blockquote>
    <p>The concurrent phases are typically long (think seconds and not milliseconds).
    If CMS hogged the single hardware thread for several
    seconds, the application would not execute during those
    several seconds and would in
    effect experience a stop-the-world pause.</p>
  </blockquote>
  
  <p>Which doesn't make sense to me on preemptive operating systems. My assumption is that CMS has one or more collector threads running. Another hypothesis would be that instead of having CMS having dedicated GC threads executing the garbage collection we are talking about making application threads interleave their logic with GC logic (time-multiplexing).</p>
  
  <p>Is this the case? What am I getting wrong here?</p>
  
  <p>Thanks</p>