我正在尝试使用 go lang 作为示例任务来实现一个多线程爬虫来学习语言。
它应该扫描页面,跟踪链接并将它们保存到数据库中。
为了避免重复,我尝试使用 map 来保存我已经保存的所有 URL。
同步版本工作正常,但是当我尝试使用 goroutine 时遇到了麻烦。
我正在尝试将互斥锁用作地图的同步对象,并将通道用作协调 goroutine 的一种方式。但显然我对它们没有清楚的了解。
问题是我有很多重复的条目,所以我的地图存储/检查无法正常工作。
有人可以向我解释如何正确执行此操作吗?
紫衣仙女
相关分类