title: What is about NIO problems in Scala / Java
body: <p>While searching the web for concurrency in jvm I found questions about searching Non-blocking IO library for Scala / Java.</p>
  
  <p>What is the problem about? If I want to send something to file / socket I can launch separate thread which make the job.</p>
  
  <p>I know there could be problem using event based threads - because whole system could be blocked. But does it reference to JVM/ Scala?</p>
  
  <p><strong>ADDED</strong>:<br />
  Please correct me if I'm wrong:<br />
  I think that when you need to call some IO function in asynchronous way it need to go into separate process or system (heavy) thread. Am I right? <br />
  So - all the questions about solving this kind of thing in common languages goes into creating and managing separate process or threads. So the only facilitate from the language is to create some pool of threads which will be assigned to IO operations in async.</p>
  
  <p>So my hypotheses is.<br />
  Sentence: <em>Language X is better then Y because calling async IO operation dosen't block the virtual machine</em> is false because in every language that support system threads there is possibility to manage NIO, the only difference is that language X has better support for this through builtin libraries / language features.</p>
  
  <ol>
  <li><strong>Is this hypothese Truth?</strong></li>
  <li><strong>Can some language achieve NIO without os system support? (through processes / threads)</strong></li>
  </ol>