php parallel,PHP parallelRuntime 用法 手册 | 示例代码

basic-multithreading-test.php

useparallelChannel;$test="this var is not accesible in a thread";// this function will be the threads$thread_function= function (int $id,Channel $ch) {// delay the first thread to simulate better multithreading

// second thread always finishes first$sleep= ($id==2) ?1:2;sleep($sleep);// print thread id

// so it's clear second thread goes first

// and also you can make sure multithreading is workingvar_dump("thread$idsleep$sleep");// try to capture globals, but it's not possibleecho'$GLOBALS["test"] = ';

@var_dump($GLOBALS["test"]);// the only way to share data is between channels$ch->send($sleep);

};

try {// each runtime represents a thread$r1= newRuntime();$r2= newRuntime();// channel where the date will be sharead$ch1= newChannel();// args that will be sent to $thread_function$args= array();$args[0] =null;$args[1] =$ch1;// running thread 1$args[0] =1;$r1->run($thread_function,$args);// running thread 2$args[0] =2;$r2->run($thread_function,$args);// receive data from channel$x=$ch1->recv();$y=$ch1->recv();// close channel$ch1->close();

echo"nData received by the channel:$xand$y";

} catch (Error $err) {

echo"nError:",$err->getMessage();

} catch (Exception $e) {

echo"nException:",$e->getMessage();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值