title: Clear definition of coroutines dispatcher in kotlin
body: <p>I am trying to migrate from RxJava to coroutines for my current projects. So I was going through the official doc and I came across <code>Dispatchers</code>. According to the official document they define Dispatchers as:</p>
  
  <blockquote>
    <p>Coroutine context includes a coroutine dispatcher (see
    CoroutineDispatcher) that determines what thread or threads the
    corresponding coroutine uses for its execution. Coroutine dispatcher
    can confine coroutine execution to a specific thread, dispatch it to a
    thread pool, or let it run unconfined.</p>
  </blockquote>
  
  <p>What do they mean by thread pool? Are <code>Dispatchers.IO</code> or <code>Dispatchers.Default</code> different threads? I am confused by the term thread here. Can someone explain how this works?</p>