多个线程操作的问题!
举个例子:
一个爬虫 1个是爬网,将内容取下来,一个是分析内容,为了加快速度,
我想用2个线程,一个用来爬网,一个用来分析爬下来的数据,
但是之间我想用队列保存爬网的数据,之前想用一个队列,爬网进程负责将爬下来的结果加入队列中,分析数据的代码负责从队列中取出结果分析
但是这样的话,必须在写入队列和取出队列的时候,都要加锁,所以我想用多个队列,比如3或者4个,每个队列保存100条记录
爬网的代码当写满一个队列后,就通知分析数据的进程来分析这个队列,然后爬网的代码重新将结果写入到另外一个队列中,
但是当我分析网页的代码分析了一个队列后,需要对下一个队列进行分析,但是有可能下一个队列可能那个爬的线程还在写数据,因为爬网比较慢,这个时候该怎么办?
换句话说就是 2个线程该如何通信? 假如爬网的爬完了一个,该如果通知分析的来分析? 但是这个时候可能那个分析线程正在分析另外一个队列,分析线程分析完了,如果去得到下一个可以分析的队列,有可能这个时候还没有可以分析的对列。
请高手赐教!!
谢谢了