维护缓冲流的映射并最终关闭

时间:2011-11-17 10:10:33

标签: java

我的应用程序通过10个线程进行连续磁盘i / o。 cpu配置文件非常高,大约100%,我打算将它变成一个独立的编写器线程。

此外,我在考虑是否可以维护缓存写入缓存,因此不必持续打开流。有没有人在这个

中看到问题

但我不确定在哪里关闭作家。其次,如果作家没有关闭就会出现问题。

由于

2 个答案:

答案 0 :(得分:0)

如果你经常给作家写短篇小说,打开一个新作家可能确实是浪费时间。需要注意的一个问题是,如果保持流打开,则尝试写入同一文件的其他线程可能会失败。从FileOutputStream文档: Some platforms, in particular, allow a file to be opened for writing by only one FileOutputStream (or other file-writing object) at a time. 另外,请确保将结束语句放在finally子句中。

PSBjörn是对的,IO不太可能出现CPU使用率。运行配置文件以确定应用实际执行的操作

答案 1 :(得分:0)

IO本身不太可能导致CPU负载。

将字符串从Java的内部表示转换为UTF8,ISO-Latin-1或您正在使用的任何编码时所涉及的字符编码转换会导致CPU负载。

然而,

每分钟10000行不是那么多。每秒只有大约7000个字符(对于40个字符行)。或者每个线程是10000行?