列表和详情页虽然都是url对应的页面,但是里面的逻辑和流程都不相同,列表需要经常去刷新更新,而且列表页是解析出一堆url,又要重新加到url队列里面, 详情一般是采集数据,采集完了,基本流程就结束了 如果都写一个线程里,感觉流程和逻辑有点复杂,拆成两个线程,各干各的,是不是会好维护些?
![]() |
1
yangyanggnu 2015-05-12 09:20:51 +08:00
从维护角度来看,通常我会将列表页面和详情页面定义成两个类。效率上,我通常将相同类的各个对象分为多线程管理(如,多线程多个详情页面类对象)。
|
![]() |
2
sohoer 2015-05-12 09:37:22 +08:00
对于通用型设计,流程肯定是一样的,都是抓取数据、保存数据、发布数据
|
3
flight2006 2015-05-12 12:00:34 +08:00
明显拆开会好点,不仅维护修改起来逻辑更清楚,而且一般详情里面花费时间比较多,一个线程执行解析Url加入队列后,可以开多个线程执行详情采集,效率更高
|
4
ultimate010 2015-05-12 12:17:35 +08:00 via iPhone
丢任务队列解决。
|
![]() |
5
yakczh OP @ultimate010 任务队列出取出来一个要解析的页面,你也要去 if else 去判断根据页面去判断到底调用哪个类去解析页面,解析完了以后后续的处理动作, 如果一个类能解析所有的页面,这个类肯定复杂无比
|