关于两个线程读取一个文件资源,如何将读取的内容按照原文件中的内容顺序输出

问题遇到的现象和发生背景

假设两个线程 同时读取一个文件 这个文件有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}
}

这题目搞笑没用,不要浪费时间了