在一个物理文件file上生成多个java.io.File实例,同时进行并发读操作,我做了个简单的实验,在读的情况下各个线程之间没有影响,但在多线程并发写的情况下,会是一个什么情况?
在java中像这种情况的文件操作,到底是一个什么样的原理和过程?急盼有人能给一个全面而具体的回答!!!!!!!!
在java中像这种情况的文件操作,到底是一个什么样的原理和过程?急盼有人能给一个全面而具体的回答!!!!!!!!
解决方案 »
- SimpleDateFormat 问题,setLenient(false)以后,解析出错
- JAVA字符用的Unicode编码,为何转换成byte[]却又变成国标码GB2312?
- java Swing 打包问题
- 如何选中jtable一行数据(2列) 并在 2个jtextfield中显示出来 并且可以作修改 保存到jtable和数据库里面
- 神奇的接口中处理 toString() 问题!!
- split数组越界问题
- JAVA6个基础题,希望有人详细讲解下.
- 各位大侠什么是hardcode啊?
- 求去除文章左右的 的方法
- 编译时提示:error: cannot read: XX.java,这是什么原因啊?
- 如何得到某个盘符下如d:\a 下面所有以.gif为扩展名的文件列表???谢谢大家
- 一个简单的问题
讲一个实例探讨一下吧,如下
我针对一个文件生成多个File实例,在此实例上对应打开多个IO读取对象,在多线程下,如果无序的去读取(不写),那么会不会有问题呢(我自己试了一下,各个对象之间的文件指针应该是互不影响)?
这样说来并发读应该是没有任何问题的.
其二:当多个线程并发写时,如果我能控制每个线程所处理的文件块不重叠(多个线程绝不会处理相同的文件字节),那么这个时候是否可以不需要同步了呢(oracle中数据也是存在文件中,它是怎么做的)?(允许脏读).
我想这是不是涉及到文件读写底层上的一些原理?对这个我不太了解,是否有高人可以指点指点呢?
朋友说一个文件只能有一个文件指针,但我试过了,不同的File类,可以有自己单独的文件指针,相互之间没干扰,可以分别定位正确的文件块.因此,很想彻底搞清这些关系!
求助!!!!!!!!