为什么我的多线程FTP站点搜索程序这么慢???
我写了一个多线程FTP实用程序,有搜索功能,但即使同时开500个
线程同时搜索也远远比不上宁外一个软件的搜索速度,下面是线程的源代码,
还请高手不吝赐教:
DWORD WINAPI SearchFtpProc( LPVOID lpParam )
{
LPSEARCHFTPPROCPARAM lpProcParam = (LPSEARCHFTPPROCPARAM) lpParam;
// initialization
CString strAddress;
BOOL bSuccess;
for( DWORD i = lpProcParam->dwIPBegin; i <= lpProcParam->dwIPEnd; i ++ )
{
strAddress.Format(
"ftp://%u.%u.%u.%u",
(i & 0xff000000)>>24, (i & 0x00ff0000)>>16,
(i & 0x0000ff00)>>8, (i & 0x000000ff) );
bSuccess = TRUE;
TRY {
AfxParseUrl(....)
CFtpConnection *pConnection = g_pInternetSession>GetFtpConnection(....)
pConnection->Close();
delete pConnection;
}
CATCH( CInternetException, e )
{
bSuccess = FALSE;
}
END_CATCH
if( bSuccess )
// add the URL to a list control
}
}
我把部分代码略去了,不过应该不影响理解。
是不是最好用API重写?但我试着把GetFtpConnection()自己再写了一遍,
但依旧很慢。请指教。