关于java多线程并发读写的问题

1.文件内容读取到缓存
2.从缓存获取文件内容,写入到磁盘
3.控制缓存大小
4.多线程并发写丶读

把数据,文件分开,这样就可以多线程读取不同的数据和不同的文件

去看看MappedByteBuffer用这个可以指定每次读写的大小与位置,而且速度快

读线程在读取时,怕判断写线程是否正在操作,如果没有写进程在操作,则可以从文件中获取数据,放入到缓存中。写线程在获取缓冲区数据时,判断缓冲区是否有值,有值就可以从缓冲区获取数据,然后写入到磁盘中。
可以使用双端队列实现缓冲区,读线程和写线程可以并行操作,读线程可以从缓冲区队列头部取值。写线程可以从缓冲区队列尾部,写值。