假设两个线程 同时读取一个文件 这个文件有100个字节 线程一读取前50个字节 线程二读取后50个字节。两个线程同时启动,将读取到的内容在控制台输出
如何才能解决 在控制台输出的信息与读取文件中的信息顺序是一致的
这中功能不要自己写,其实Java NIO框架提供了多线程访问文件的能力,使用AsynchronousFileChannel就可以实现你的需求。
异步访问文件可以使用https://gitee.com/pinweiwan/async-file, 可以更方便的处理文件,这可能对你有帮助
同时启动,这题目真不严谨,假设同时启动是t1.start(); t2.start(),那么
boolean 我读完了 = false
func t1(){
打开文件,读取前50个字节
显示
我读完了=true
}
func t2(){
打开文件,读取后50字节
while(我读完了) { 显示 我读完了=false}
}
这题目搞笑没用,不要浪费时间了