<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 文檔)?!癮nd 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

    主站蜘蛛池模板: 国产一级在线免费观看| 91在线老王精品免费播放| 在线观看国产区亚洲一区成人| 视频免费在线观看| 亚洲国产精品综合久久网各| 免费高清在线影片一区| 高清永久免费观看| 亚洲一区精品视频在线| 亚洲精品线路一在线观看| 免费人成在线观看网站品爱网| 亚洲国产成人久久精品软件| 国产亚洲色视频在线| 成人奭片免费观看| A片在线免费观看| 国产亚洲精品国产福利在线观看| 亚洲国产精品无码av| 日韩一区二区免费视频| 99久久99热精品免费观看国产| 国产亚洲精品国产福利在线观看 | 亚洲人成电影青青在线播放| 免费人成视频x8x8入口| 99久久99这里只有免费费精品| 九九视频高清视频免费观看| 亚洲中文字幕无码av在线| 亚洲综合精品香蕉久久网| 女人18毛片免费观看| 18禁黄网站禁片免费观看不卡| 羞羞视频免费网站日本| 亚洲熟妇无码AV| 亚洲欧洲日韩综合| 亚洲人成无码网站| 亚洲AⅤ永久无码精品AA| 亚洲成在人线aⅴ免费毛片| 免费污视频在线观看| 男人j进女人p免费视频| 亚洲暴爽av人人爽日日碰| 亚洲小说区图片区| 亚洲AV日韩AV鸥美在线观看| 国产亚洲av人片在线观看| 无码国产亚洲日韩国精品视频一区二区三区| 亚洲视频免费播放|