title: Multi threaded program: waiting on input
body: <p>We are creating a peer to peer program (in c), and we are using multiple threads so that the program can listen for new connections and receive/send data as well.</p>
  
  <p>The problem is, I remember my prof telling us that if you have multiple threads running on the same process, if one has to wait for user input, the entire process is "halted" so none of the other threads will keep running.</p>
  
  <p>But then we have been reading up, and it seems like if one thread is waiting on input, the others keep running as usual...</p>
  
  <p>Which one is right? If we have the program waiting for user input (ya know, things like connect to X or send X a message) on one thread, and another thread just sitting there in an infinite loop waiting for a peer to try to connect, will it still be listening for connections?</p>
  
  <p>thanks! hopefully this makes sense...threads are just so confusing :(</p>