NIO兑现多线程读取的参考
NIO实现多线程读取的参考
NIO缺点:
NIO服务器端是在一个线程下运行,当有多个请求时,将会排队操作,但进行大并发量大数据量读写时,会导致其他请求无法处理,因此考虑将NIO的读写单独用线程处理。
1、NIO 基础
http://tenyears.iteye.com/blog/40489
2、NIO多线程实现
http://www.ibm.com/developerworks/cn/java/l-niosvr/
3、传输对象
先将对象序列号,然后再客户端反序列化
server端:
客户端
NIO缺点:
NIO服务器端是在一个线程下运行,当有多个请求时,将会排队操作,但进行大并发量大数据量读写时,会导致其他请求无法处理,因此考虑将NIO的读写单独用线程处理。
1、NIO 基础
http://tenyears.iteye.com/blog/40489
2、NIO多线程实现
http://www.ibm.com/developerworks/cn/java/l-niosvr/
3、传输对象
先将对象序列号,然后再客户端反序列化
server端:
Map map = new HashMap(); ByteArrayOutputStream bo = new ByteArrayOutputStream(); try { ObjectOutputStream os = new ObjectOutputStream(bo); os.writeObject(map); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
客户端
//buffer来自于NIO接收的数据 ByteArrayInputStream bi = new ByteArrayInputStream(buffer); ObjectInputStream oi = new ObjectInputStream(bi); Map map = (Map)oi.readObject();