title: Difference between usage of Dispatcher IO and Default
body: <p>In this question: <a href="https://stackoverflow.com/questions/57109266/kotlin-coroutines-choosing-dispatcher">Kotlin Coroutines choosing Dispatcher</a>
  we can understand to use <code>Dispatcher.Default</code> on CPU process, like an image/video conversion and <code>Dispatcher.IO</code> when writing/reading files or API connection.</p>
  
  <p>But in the class <code>Dispatcher.kt</code> documentation, for the <code>IO</code>you find this:</p>
  
  <pre><code>* This dispatcher shares threads with a [Default][Dispatchers.Default] dispatcher, so using
  * `withContext(Dispatchers.IO) { ... }` does not lead to an actual switching to another thread &amp;mdash;
  * typically execution continues in the same thread.
  </code></pre>
  
  <p>So basically they run on the same thread anyway. There is a real difference or in the end it won't matter each one to use?</p>
  
  <p>Thanks!</p>