感觉线程的并发很棘手啊
aide吧
全部回复
仅看楼主
level 12
试着写了一个爬虫,网页的数据是分页显示的,一页十条数据,本来一次加载十条划完了再加载下一页数据是可行的。但如果想一次直接获取到所有数据就麻烦的很,如果有50页,就要开50个线程同时获取每一页的数据,全部获取完以后,再发送Message更新UI。但
因为是并发的,这样无法判断什么时候数据全部获取完。而且如果发生异常,又有已经获取到的数据,也很难判断,就很烦[不高兴]
2018年07月04日 11点07分 1
level 13
爬的时候标注该线程是第几页,然后放到全局列表,
把页数排序就好了,
页数不够代表没爬完,
2018年07月04日 12点07分 2
level 9
count+=1
2018年07月04日 17点07分 3
+=不是原子性操作吧,应该用AtomicInteger
2018年07月05日 02点07分
是量子性操作
2018年07月05日 08点07分
level 13
countdownlatch了解一下?
2018年07月05日 06点07分 4
level 11
使用线程池 限定最大线程数 具体百度
2018年07月05日 15点07分 5
level 14
换个思路,或许能更好解决,再或者重写一个更好的
2018年07月06日 05点07分 6
1