title: Does multithreading always yield better performance than single threading?
body: <p>I know the answer is <strong>No</strong>, here is an example <a href="https://stackoverflow.com/questions/19901915/why-single-thread-is-faster-than-multithreading-in-java">Why single thread is faster than multithreading in Java?</a> .</p>
  
  <p>So when processing a task in a thread is trivial, the cost of creating a thread will create more overhead than distributing the task. This is one case where a single thread will be faster than multithreading.</p>
  
  <h2>Questions</h2>
  
  <ul>
  <li><p>Are there more cases where a single thread will be faster than multithreading?</p></li>
  <li><p>When should we decide to give up multithreading and only use a single thread to accomplish our goal?</p></li>
  </ul>
  
  <p>Although the question is tagged <a href="/questions/tagged/java" class="post-tag" title="show questions tagged &#39;java&#39;" rel="tag">java</a>, it is also welcome to discuss beyond Java.
  It would be great if we could have a small example to explain in the answer.</p>