这里来记录一下第四章里面所讲的IO
首先说到IO,我想,必须要先了解阻塞,非阻塞,同步和异步这四个词
看到一个讲的很易懂的例子:<a href="http://www.cnblogs.com/George1994/p/6702084.html">阻塞非阻塞同步异步</a>
那么了解完这四个词,就到了IO了
传统的IO,即阻塞IO
也就是跟之前用socket编程那样,没有数据写入到来这边的线程就一直等待,直到数据到来然后再对数据进行处理,例如打印
拿出以前的老代码
public void bio(int port) throws IOException{ final ServerSocket socket = new ServerSocket(port); try { //死循环,直到有连接再用线程将内容写入 while (true){ Socket client = socket.accept();//阻塞 new Thread(new Runnable() { @Override public void run() { OutputStream out; try { out = client.getOutputStream(); out.write("hello world".getBytes(CharsetUtil.UTF_8)); out.flush(); client.close(); }catch (IOException e){ e.printStackTrace(); }finally { try { client.close(); }catch (IOException e){ e.printStackTrace(); } } } }).start(); } }catch (Exception e){ e.printStackTrace(); } }