我有一個url隊列,我傳遞給它的一個函數,它抓取並獲取url中的每個url應該是並行的並且crawl是一個類,並且start是我的函數它抓取的網址,如果我運行程序的每個網址,是通過執行一個一個不能並行我的openmp並行編程有什麼問題
while(!q.empty())
{
#pragma omp parallel for
{
for(int n=0; n<q.size(); ++n)
{
crawl.start(q.front());
q.pop();
}
}
}
輸出
http://www.bing.com
http://www.bing.com/?scope=images&FORM=Z9LH
http://www.bing.com/?scope=news&FORM=Z9LH2
http://www.bing.com/?scope=video&FORM=Z9LH1
http://www.bing.com/explore?FORM=BXLH
http://www.google.co.in
http://www.google.co.in/advanced_search?hl=en
http://www.google.co.in/intl/en/about.html
http://www.google.co.in/intl/en/ads/
http://www.google.co.in/intl/en/privacy.html
似乎過程並不平行任何一個可以告訴我,我該怎麼並行執行此操作
也envvar OMP_NUM_THREADS控制線程數 – Anycorn 2010-10-13 06:03:39