工作了很久,基本上没用过 PHP 的多线程,想问下用的很场景。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
w516322644
V2EX    PHP

工作了很久,基本上没用过 PHP 的多线程,想问下用的很场景。

  •  
  •   w516322644 2019-08-22 16:31:18 +08:00 5453 次点击
    这是一个创建于 2254 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题。
    19 条回复   &bsp;2019-08-30 11:22:28 +08:00
    MarkOrca
        1
    MarkOrca  
       2019-08-22 16:36:10 +08:00
    别问,问就是换语言
    MarksGui
        2
    MarksGui  
       2019-08-22 16:37:18 +08:00
    建议直接用 go
    robinchina
        3
    robinchina  
       2019-08-22 16:39:03 +08:00
    爬虫?
    jowan
        4
    jowan  
       2019-08-22 16:44:08 +08:00
    异步 后台任务 耗时任务 数据分析 爬虫等
    TypeErrorNone
        5
    TypeErrorNone  
       2019-08-22 16:47:21 +08:00
    换 go
    Varobjs
        6
    Varobjs  
       2019-08-22 19:58:05 +08:00 via Android
    没有
    JingKeWu
        7
    JingKeWu  
       2019-08-22 20:02:50 +08:00
    采集的时候
    junan0708
        8
    junan0708  
       2019-08-22 20:07:28 +08:00 via Android
    多进程,PHP 没有多线程
    ben1024
        9
    ben1024  
       2019-08-22 20:13:41 +08:00
    处理对运行时间有要求任务时有用

    swoole
    reactphp
    workman
    AngryPanda
        10
    AngryPanda  
       2019-08-22 20:15:41 +08:00
    pthreads is an object-orientated API that provides all of the tools needed for multi-threading in PHP.
    areless
        11
    areless  
       2019-08-22 21:03:56 +08:00 via Android
    挂个 cli 处理费时任务就可以了,那么多进程异步的真正意义是?我看以前大任务按量同步分步骤执行效率也不低啊=____=
    yukiir
        12
    yukiir  
       2019-08-22 21:07:57 +08:00
    没有用过,只把多进程的并发问题整明白了。
    zachgenius
        13
    zachgenius  
       2019-08-22 21:13:50 +08:00
    php 有多线程??? 它只有多进程吧?
    swat199538
        14
    swat199538  
       2019-08-22 22:06:52 +08:00
    多线程不到,多进程到时跟其它类 C 语言没啥不同。



    <?php

    for($i=0;$i<5;$i++){
    $pid = pcntl_fork();

    if($pid == -1){
    exit("fork 失败");
    }

    if($pid == 0){
    echo "我是子进程\n";
    sleep(100);
    exit();
    }
    }

    $n= 0;
    while($number < 5){
    $nStatus = -1;
    $nPid = pcntl_wait($nStatus, WNOHANG);
    if ($nPid > 0) {
    $n++;
    }
    }
    encro
        15
    encro  
       2019-08-23 09:17:46 +08:00
    前几天恰好用到,
    然后发现大部分编译都是 nts (非线程安全的),不支持 pthread,
    需要自己重新安装 ts (线程安全)版本,并编译 pthread 扩展,
    安装好扩展后,发现 pthread 扩展有 BUG,在 linux 运行成功,实际没效果,
    一怒之下用 GO 改写,花了 1 天多时间,
    内存小了,速度快了,代码简洁了,真香。
    hhh798
        16
    hhh798  
       2019-08-23 11:01:40 +08:00
    PHP 写点 crud,渲染个页面就完了,还多线程,想啥呢,那是它该干和能干的事儿吗
    salamanderMH
        17
    salamanderMH  
       2019-08-23 12:56:59 +08:00
    多进程
    Wenco
        18
    Wenco  
       2019-08-24 08:45:53 +08:00
    @nioncodotcom 韩天峰听了想打人
    zibber
        19
    zibber  
       2019-08-30 11:22:28 +08:00
    swoole 也是多进程模型
    想学多线程 去看看 java 或者 go 吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4463 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 54ms UTC 01:05 PVG 09:05 LAX 18:05 JFK 21:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86