TYP协议,FTP协议等。(2)多线程特性Java具有多线程的特性,它本身还提供了一个Thead类,负责线程的运行,终II=,并枪查线程的状态。另外,Java的线程还包括一组同步原语,负责对线程实行并发控制【3I。网络爬虫需要下载百万数计的网页,如果我们采用单线稗束完成这一任务,效率是十分低的,程序的瓶颈就在于网络爬虫在向服务器发出下载网贞的请求后必须等待服务器的响应,可想而知,单线程技术需要一个接一个地去等待服
?57?
ICrawlerReportahle
{publicCrawler(managerurl,http,poolSize);
public
Crawler(manager,url,http,poolSize,w);Size,w);
privateCrawler(manager,url,http,work,poo1synchronizedpubhcvoid
addWorkload(String,url),
completePage(page,error);
Boolean
synchronizedpublicsynchronizedLink(Stringurl);
void
public
FotmdIntemal
synchronized
Link(Stringurl);
publicint
public
Boolean
foundExternal
getMaxBody();
boolean
synchronizedpuhlic
getRemoveQuery0;
publicCrawlerDonegetCrawlerDone0;
synchronizedpublic
String
getWorkload0;
万方数据
MicrocomputerApplicationsVoL25,No.2,2009
技术交流
微型电脑应用