提高读取文件的效率小试

首先,不要读一下,操作一下,再写一下.这样不好.

其次,如果不用多线程来做,需要记录每次读到哪里了,考虑到异常,重启等情况,非常繁琐,容易出错

最后,希望大家用2个线程

1个是读

1个是操作

读了之后可以放在阻塞队列里面,这样可以保证先进先出,不会串行

然后,操作的线程就去取队列中的数据来操作.

需要用到的知识有

1,arrayblockingqueue,注意offer put 这样可以阻塞的操作

2, randomaccessfile(file,"rw");  因为多个线程操作文件,注意要把文件锁住

3, getChannel().tryLock(); 这时候利用异常,如果得不到锁,就等一下,继续要锁.


你可能感兴趣的:(提高读取文件的效率小试)