Swoole 啟動一個服務(wù),開啟了哪些進(jìn)程和線程?
serv.php (推薦學(xué)習(xí): swoole視頻教程)
<?php class Server { private $serv; public function __construct() { $this->serv = new swoole_server("0.0.0.0", 9502); $this->serv->set([ 'worker_num' => 3, 'task_worker_num' => 3, ]); $this->serv->on('Start', function ($serv) { echo "SWOOLE:".SWOOLE_VERSION . " 服務(wù)已啟動".PHP_EOL; echo "SWOOLE_CPU_NUM:".swoole_cpu_num().PHP_EOL; }); $this->serv->on('Receive', function ($serv, $fd, $from_id, $data) { }); $this->serv->on('Task', function ($serv, $task) { }); $this->serv->on('Finish', function ($serv, $task_id, $data) {}); $this->serv->start(); } } $server = new Server();
上面的代碼簡單說下,創(chuàng)建了一個 TCP 服務(wù)器,啟動了 3 個 worker 進(jìn)程, 3 個 task 進(jìn)程,因?yàn)閱⒂昧?task 功能,所以必須注冊 onTask、onFinish 2 個事件的回調(diào)函數(shù)。
咱們運(yùn)行一下:
使用 ps 查看下: