您的位置:首页 > 其它

提高读取文件的效率小试

2016-12-20 17:21 260 查看
首先,不要读一下,操作一下,再写一下.这样不好.

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

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

1个是读

1个是操作

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

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

需要用到的知识有

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

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

3, getChannel().tryLock(); 这时候利用异常,如果得不到锁,就等一下,继续要锁.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多线程