<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
    數據加載中……

    30 個子進程來并行下載不同的鏈接

    ?? use ?LWP :: Simple;
    ??
    use ?Parallel :: ForkManager;

    ??


    ??
    @links = (?
    ????[
    " http://www.foo.bar/rulez.data " , " rulez_data.txt " ] , ?
    ????[
    " http://new.host/more_data.doc " , " more_data.doc " ] ,
    ????

    ??);

    ??


    ??
    # ?同時使用?30?個進程
    ?? my ? $pm ? = ?new?Parallel :: ForkManager( 30 );?

    ??
    foreach ? my ? $linkarray ?( @links )?{
    ????
    $pm -> start?and? next ;? # ?開始?fork

    ????
    my ?( $link , $fn )? = ?@ $linkarray ;
    ????
    warn ? " Cannot?get?$fn?from?$link " ?
    ??????
    if ?getstore( $link , $fn )? != ?RC_OK;

    ????
    $pm -> finish;? # ?do?the?exit?in?the?child?process
    ??}
    ??
    $pm -> wait_all_children;

    首先通過 new 來初始化一個 ForkManager 對象,同時必須標明最大進程數。如果使用 0 的話就可以避免 fork 來達到調試程序的作用。

    然后使用 $pm->start 來開始 fork。 $pm 在子進程時返回 0 ,父進程時返回子進程的進程號(具體請參閱 Perl 的 fork 文檔)。“and next” 用來跳過父進程。注意:如果 fork 失敗的話, $pm->start 就提示錯誤,程序結束。

    $pm->finish 結束子程序(假設我們一開始使用了 start 來 fork)

    注意:在子進程中不能使用 $pm->start。 如果你想在子進程中使用另外一組子進程,你必須再初始化一個 Parallel::ForkManager 對象。

    from: http://www.perlchina.org/archive/archive.php?action=archive&page=44

    posted on 2006-05-21 20:37 weidagang2046 閱讀(392) 評論(0)  編輯  收藏 所屬分類: Perl

    主站蜘蛛池模板: 亚洲日本va一区二区三区| 亚洲影院在线观看| 亚洲国产欧美日韩精品一区二区三区 | 一进一出60分钟免费视频| 国产自产拍精品视频免费看| 亚洲中文无码永久免| 日韩免费在线观看| 综合一区自拍亚洲综合图区| 免费中文字幕一级毛片| 永久免费无码网站在线观看个| 国产亚洲精品福利在线无卡一| 中文字幕乱理片免费完整的| 亚洲av午夜成人片精品网站 | 国产真人无码作爱免费视频| 亚洲狠狠婷婷综合久久久久| 久久精品成人免费观看| 亚洲成人在线免费观看| 免费黄色一级毛片| 老司机午夜在线视频免费| 精品亚洲视频在线观看 | 18勿入网站免费永久| 亚洲一卡二卡三卡四卡无卡麻豆 | 久久国产福利免费| 亚洲色图校园春色| 国产美女无遮挡免费网站| 久久av免费天堂小草播放| 内射干少妇亚洲69XXX| 成人免费777777| 一级特黄a大片免费| 久久亚洲中文字幕精品有坂深雪 | 亚洲午夜无码久久久久| 免费精品国产自产拍在| 免费的黄色的网站| 亚洲宅男永久在线| 免费欧洲美女牲交视频| 麻豆精品不卡国产免费看| 亚洲色大情网站www| 亚洲精品乱码久久久久久| a级毛片无码免费真人| 在线观看黄片免费入口不卡| 亚洲国产成人资源在线软件 |