需求:一个或多个文件夹下面有上万个file,需要高速读取,并存入数据库。
小弟打算利用1.5的号称高性能锁:基本做法:多线程(5个)从work目录读取文件时,将该文件锁定,insert入数据库后,将该文件move去backup文件夹但是问题是,当move文件时,需要解开锁,而这时如果其他线程冲进来读该文件并加锁,岂不是会造成死锁..?
针对这种loader的做法,大家有什么比较好的建议么,小弟先谢谢了
小弟打算利用1.5的号称高性能锁:基本做法:多线程(5个)从work目录读取文件时,将该文件锁定,insert入数据库后,将该文件move去backup文件夹但是问题是,当move文件时,需要解开锁,而这时如果其他线程冲进来读该文件并加锁,岂不是会造成死锁..?
针对这种loader的做法,大家有什么比较好的建议么,小弟先谢谢了
解决方案 »
- 什么是java的缓存?
- 字符串替换
- 高手解释一下Java.util.Stack的利弊,是否有必要像《Think in Java》中解释的需要自己通过LinkedList实现。
- XML文件中message标签内容修改之后,无法反映到jsp文件,请高手指教!
- java中eturn 的问题
- Java初级问题:学习Java需要准备什么
- 这个方法是不是不用了?
- 惨了:我的classpath设置全部没用了
- 有关组合(composition)的问题,请求好心人回答?
- 请教高手:我编的Applet插件只显示一个灰影,在JAVA控制台显示:awt.graphics2d.class没找到 请问应如何解决??
- 关于shell调用java包中程序的问题。
- JTabbedPane 选项卡问题
对处理对象加锁吗?这符合生产者与消费者模式。看看玩线程的大师axman怎么说的吧,他的博客在网络评价很高http://blog.csdn.net/axman/archive/2005/07/22/431801.aspx
1. list 出所有的文件,存放到一个集合中.一个线程足够
2. 从保存文件名的集合中取一个出来,插入数据库,然后删除,可以开N个线程仅仅存放文件名的集合需要同步
我想达到的是对文件加锁。。