thinkphp5.0使⽤workerman多线程实例测试环境:php7 + nginx +linux
新建⼀个模块,由于我这⾥使⽤workerman来做⾃动任务的,所以我这个模块的名称为:task
在controller⽂件夹⾥⾯新建⼀个控制器:Worker.php,⾥⾯的代码如下
<?php
namespace app\task\controller;
use think\worker\Server;
use Workerman\Lib\Timer;
class Worker extends Server {
protected $socket = '';
protected $processes = 4;//四进程
protected $port = '2369';//监听端⼝
/
**
* 每个进程启动
* @param $worker
*/
public function onWorkerStart($worker){
if ($worker->id === 0) {
Timer::add(1,function(){
echo '这是进程0....';
});
}else if ($worker->id === 1) {
Timer::add(1, function(){
php支持多线程吗
echo '这是进程1.....';
});
}else if ($worker->id === 2) {
Timer::add(1, function() {
echo '这是进程2.进程2...';
});
}else if ($worker->id === 3) {
Timer::add(1, function() {
echo '进程3,这是进程3....';
});
}
}
}
  添加⼀个⼊⼝⽂件worker.php,内容如下:
<?php
define('APP_PATH', __DIR__ . '/../app/');
define('BIND_MODULE','task/Worker');
// 加载框架引导⽂件
require __DIR__ . '/../thinkphp/start.php';
最后,⽤cli模式执⾏⼀下上⾯这个⼊⼝⽂件即可(window系统使⽤cmd)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。