
- 加为好友
- 发送私信
- 在线聊天
|
| 发表于:2008-05-11 18:54:3918楼 得分:0 |
多谢各位朋友的关注,呵呵 ArrayList加锁在用多线程是可以办到的,如果全部放在到ArrayList中,内存不一会儿就会被耗尽,我现在已经做出的用的是acc数据库,在程序运行不到10分钟数据库就可以达到10M以上,压缩后也上M的,我看过网络上一位高人这样算过一下 平均每个Url有50个字符。如果有很多Url,每个Url占50个字符,一百万个Url就是会占用50M的存储空间 ,如果程序能连续运行1个晚上,Url数可以超过一百万的好多倍,所以如果直接存放在内存的话,程序会越运行越慢,最后死掉, 如果说使用3楼的方法的法在取队列上边是完全可以,解决多个线程的抢占问题,但是每个线程都会自己再生产Url并存入队列,这样还是会引起,数据库的"锁"问题, 因为,要达到"移动"所以 SQL Express 在这个方案中不是很可行, 我个人觉得1楼的方法,很不错,把URL分割,这样可以减少很多相同字符的存入,就是我对这个"树"不是很懂,在分割后它们怎么在取出的时候,怎么进行重组,还有就是"消费",就是在用完之后要怎么能它进行删除操作(一个队列的如每次最上的20条), shrinerain 很希望你能我多讲讲,最好能写个简单的例程, | | |
修改
删除
举报
引用
回复
| |