由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - 可以多个线程同时读一个文件吗
相关主题
求教 java.lang.outofMemory[合集] 请教: A question related to thread communication
问个多线程问题问一个基础问题
问个多线程的问题。求助,哪儿能找到一些实用的面试习题?
多线程搜索同一个文件问题。怎么可以练习多线程编程呢?
问个多线程的问题core java多线程一般面试什么
ZT: 关于性爱的多线程问题研究(一)Java synchronized method一问
java的接口runnable问个JAVA设计多线程cache问题
线程问题。线程池问题
相关话题的讨论汇总
话题: 文件话题: 多线程话题: 线程话题: probably话题: 单线程
进入Java版参与讨论
1 (共1页)
y****n
发帖数: 192
1
一个线程在读文件的时候会不会把文件锁住?
另外,是不是即使用多线程同时读文件也不会加快速度呢?我的理解是I/O通道只有一个,单线程和多线程能达到的速度已经被瓶颈了。
谢谢!
m******t
发帖数: 2416
2

Not unless you specifically request a lock on the file.
Probably not worth it.

【在 y****n 的大作中提到】
: 一个线程在读文件的时候会不会把文件锁住?
: 另外,是不是即使用多线程同时读文件也不会加快速度呢?我的理解是I/O通道只有一个,单线程和多线程能达到的速度已经被瓶颈了。
: 谢谢!

a****l
发帖数: 8211
3
Not only will multi-threading not increase the reading speed of a file, most
probably it would actually slow down the speed and at the same time is
murdering the hard drive. Good luck.

一个,单线程和多线程能达到的速度已经被瓶颈了。

【在 y****n 的大作中提到】
: 一个线程在读文件的时候会不会把文件锁住?
: 另外,是不是即使用多线程同时读文件也不会加快速度呢?我的理解是I/O通道只有一个,单线程和多线程能达到的速度已经被瓶颈了。
: 谢谢!

c*****t
发帖数: 1879
4
如果你的文件很大,同时处理的时间很长。双线程其实是个不错的选择。
一个专门读硬盘(producer),一个专门处理(consumer)。即使只有
一个 cpu,也是很好的选择。
一般的
while ( read ( buffer ) )
{ dealwith ( buffer ); }
有个很大的问题就是,没有利用 I/O block 的时候(其实 cpu idle)
做事情。不过一般文件小,又因为 disk cache,效果不是太明显。大
文件就比较重要了。

一个,单线程和多线程能达到的速度已经被瓶颈了。

【在 y****n 的大作中提到】
: 一个线程在读文件的时候会不会把文件锁住?
: 另外,是不是即使用多线程同时读文件也不会加快速度呢?我的理解是I/O通道只有一个,单线程和多线程能达到的速度已经被瓶颈了。
: 谢谢!

h*****0
发帖数: 4889
5
双线程处理,和多线程读文件,不是一个东西吧。

【在 c*****t 的大作中提到】
: 如果你的文件很大,同时处理的时间很长。双线程其实是个不错的选择。
: 一个专门读硬盘(producer),一个专门处理(consumer)。即使只有
: 一个 cpu,也是很好的选择。
: 一般的
: while ( read ( buffer ) )
: { dealwith ( buffer ); }
: 有个很大的问题就是,没有利用 I/O block 的时候(其实 cpu idle)
: 做事情。不过一般文件小,又因为 disk cache,效果不是太明显。大
: 文件就比较重要了。
:

F****n
发帖数: 3271
6
实际上这个问题depends on 硬件,在硬件允许的情况下多线程是有可能大大提高I/O速
度的。在RAID DRIVE上2-5个thread 比 single thread 快多了。

【在 h*****0 的大作中提到】
: 双线程处理,和多线程读文件,不是一个东西吧。
1 (共1页)
进入Java版参与讨论
相关主题
线程池问题问个多线程的问题
请教一个多线程的问题ZT: 关于性爱的多线程问题研究(一)
Re: How to lock a file and detect a thread is over?java的接口runnable
[转载] 现在还有什么OS不是THREAD级调度的吗?线程问题。
求教 java.lang.outofMemory[合集] 请教: A question related to thread communication
问个多线程问题问一个基础问题
问个多线程的问题。求助,哪儿能找到一些实用的面试习题?
多线程搜索同一个文件问题。怎么可以练习多线程编程呢?
相关话题的讨论汇总
话题: 文件话题: 多线程话题: 线程话题: probably话题: 单线程