Dan*_*iel 1 java io concurrency blocking
我想知道FileOutputStream.write(byte [])是否总是阻塞当前线程,导致ThreadContext开关,或者可能是如果操作系统缓冲区很大,则该操作不会阻止处理字节.
这些想法的原因是,我想知道我在我的应用程序中使用log4j进行的日志记录是否真的是性能损失,并且使用记录消息的队列是否会更快,这些消息由单独的线程读取并写入日志文件(我知道如果应用程序退出并且队列中的语句没有刷新到磁盘,吞没日志记录语句的缺点).
不,我还没有描述它,这些是相当概念性的想法.
不必是.
FileOutputStream.write(byte [])是一种本机方法.常识会建议write()可以只写入内部缓冲区,稍后调用flush()实际上会提交它.
| 归档时间: |
|
| 查看次数: |
1493 次 |
| 最近记录: |