- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我能理解为什么网络应用程序将使用多路复用(不创建太多线程),以及为什么程序将使用异步调用进行流水线传输(更有效)。但是我不了解AsynchronousFileChannel的效率目的。
有任何想法吗?
最佳答案
这是一个可以异步读取文件的 channel ,即I/O操作是在单独的线程上完成的,因此在I/O操作发生时,您从中调用它的线程可以执行其他操作。
例如:该类的read()
方法返回Future
对象,以获取从文件读取数据的结果。因此,您可以做的就是调用read()
,它将立即与Future
对象一起返回。在后台,另一个线程将从文件中读取实际数据。您自己的线程可以继续执行操作,并且在需要读取数据时,可以在get()
对象上调用Future
。然后将返回数据(如果后台线程尚未完成读取数据,它将使您的线程处于阻塞状态,直到数据准备就绪为止)。这样做的好处是您的线程不必等待读取操作的整个长度;它可以做其他事情,直到它真正需要数据为止。
参见the documentation。
注意AsynchronousFileChannel
将是Java SE 7中的一个新类,尚未发布。
关于java - 为什么要使用Java的AsynchronousFileChannel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2762987/
我正在尝试使用 AsynchronousFileChannel.write 将图像写入文件: ... Path filePath = Paths.get(path + "/" + Sy
Path file = Paths.get("c:/large.log"); AsynchronousFileChannel channel = AsynchronousFileChannel.o
我理解 Java 的 AsynchronousFileChannel 是一个异步 api(不阻塞调用线程)并且可以使用系统线程池中的线程。 我的问题是:AsynchronousFileChannel
我尝试使用AsynchronousFileChannel 来实现复制文件。用于读取和写入的 AsynchronousFileChannel 对象声明为 AsynchronousFileChannel
在 Java 中,当调用 AsynchronousFileChannel.write(...) 时,会收到一个 Future,然后可以通过 Future 等待完成。 get(). 当 get() 调用
有没有办法为存储在类路径上的 jar 中的文件打开 AsynchronousFileChannel? 如果我尝试直接创建一个 Path,我会得到 FileSystemNotFoundException
AsynchronousFileChannel Java NIO.2 中的 API 包含 void force(boolean)方法。 显然这个方法是阻塞的,因为它只能在更改成功写入设备后返回。 我正
我一直在研究 Java 7 中的 NIO2,我假设 AsynchronousFileChannel 会有一个 transferTo 方法,就像它的同步 FileChannel兄弟。 我希望在本地文件和
我对异步文件 I/O 的理解可能是错误的,但我正在尝试使用最新的 JDK 7 的 AsynchronousFileChannel 来加速应用程序,但结果却出乎意料。在我进行如下更改之前,应用程序正在使
我想从 (Tomcat servlet) InputStream 中读取并使用 AsynchronousFileChannel 将(大)内容异步复制到文件中。我能行with a regular Fil
所以您知道可以使用 AsynchronousFileChannel 将整个文件读取为字符串: AsynchronousFileChannel fileChannel = AsynchronousFi
我有两个问题 如果我的操作系统不支持 AIO(低于 linux 2.6 等),AsynchronousFileChannel 将如何工作。 如何在AsynchronousFileChannel中追加某
我正在尝试使用 AsynchronousFileChannel JAVA 7 API 以异步方式写入文件,但是我找不到一种简单的方法来附加到文件。 API 描述指出 AsynchronousFileC
我正在玩java nio 2,我编写了一个简单的应用程序,应该创建一个文件并向其中写入内容,但我收到文件不存在异常 ByteBuffer buffer = ByteBuffer.wrap("jhkjh
所以我根据网上找到的文档和示例想出了以下函数,以异步方式写入文件: public static Future createAndWriteToFile(String fullFileName,
我使用 AsyncHttpClient library对于异步非阻塞请求。我的案例:在通过网络接收数据时将数据写入文件。 对于从远程主机下载文件并保存到文件,我使用默认的 ResponseBodyPa
我是一名优秀的程序员,十分优秀!