Java 异步IO(1) 文件异步IO

来源:互联网 发布:百香坊沉香淘宝 编辑:程序博客网 时间:2024/05/16 10:35

大家写过多线程都用过java.util.concurrent包,自己创建线程池,自己实现run 或者call接口创建线程类,之后提交给线程池运行。

之前大家读写文件,必须得等待IO完成。如果要想节约时间,还得自己实现上面多线程那一套。今天刚知道异步IO这个东西,不用自己实现多线程了。下面是示例代码:

public static void asynchronousFileIO(){Path path = Paths.get("resource/Stopword.txt");try{AsynchronousFileChannel channel = AsynchronousFileChannel.open(path);ByteBuffer buffer = ByteBuffer.allocate(1000);Future<Integer> future = channel.read(buffer, 0);while (!future.isDone()){System.out.println("Do others...");}Integer number = future.get();System.out.println("Read " + number + " content : " + new String(buffer.array()));channel.close();} catch (IOException | InterruptedException | ExecutionException e){e.printStackTrace();}}


0 0
原创粉丝点击