gpt4 book ai didi

java - 如何使用java中的任何类型的OutputStream实现最高性能?

转载 作者:行者123 更新时间:2023-12-01 19:25:24 25 4
gpt4 key购买 nike

我需要写入数据 block (字符),并且我不关心这些 block 的顺序。我想知道我应该使用什么样的OutputStream才能获得高性能?

最佳答案

简单地从多个线程调用普通的 ZipOutputStream 是行不通的。 ZipOutputStream API 有一个模型,您可以一次写入一个条目,如下所示:

ZipOutputStream zos = ...

while (...) {
zos.putNextEntry(...);
while (...) {
zos.write(...);
}
zos.closeEntry();
}

该模型本质上是非线程安全的。

为了以线程安全的方式执行此操作,您需要将 ZipOutputStream 包装在一个类中,该类在一个同步方法调用中执行放置/写入/关闭操作。这意味着您本质上是连续执行 Zip 输出操作,这在很大程度上违背了您这样做的目的。

关于java - 如何使用java中的任何类型的OutputStream实现最高性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1482571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com