title: Can single thread do everything that multithread can do?
body: <p><strong>My 1st Question</strong>: As per the title.</p>
  
  <p>I am asking this because I came across a StackExchange question: <a href="https://softwareengineering.stackexchange.com/questions/97615/what-can-multiple-threads-do-that-a-single-thread-cannot">What can multiple threads do that a single thread cannot?</a></p>
  
  <p>In one of the solutions given in that link states that whatever multithread can do, it can be done by single thread as well.</p>
  
  <p>However I don't think this is true. My argument is this: When we build a simple chat program with socket programming and run it via the command console. If the chat program is single threaded. The chat program is actually half-duplex. Which means we cannot listen and talk concurrently and each time only a party can talk and the other have to listen. In order for both parties to be able to talk and receive message concurrently, we have to implement it with multithreads.</p>
  
  <p><strong>My 2nd Question</strong>: Is my argument correct? Or did I miss out some points here, and therefore a single thread still can do everything multithread does?</p>