我打开几个bash登录客户端向服务器发送tcp请求,服务器为什么接受到线程id都是0
来源:4-1 Swoole--TCP服务器
qq_大寒_2
2018-03-22
老师,我打开几个bash登录客户端向服务器发送tcp请求,服务器为什么接受到线程id都是0?
,这个没太理解。
写回答
3回答
-
您代码贴下。
042018-03-23 -
zk3480124
2018-03-31
(这是老师在下一个章节中写的,这章没有答案,我复制粘贴一下)
Reactor线程数,reactor_num => 2,通过此参数来调节主进程内事件处理线程的数量,以充分利用多核。默认会启用CPU核数相同的数量。reactor_num一般设置为CPU核数的1-4倍,在swoole中reactor_num最大不得超过CPU核数*4。swoole的Reactor线程是可以利用多核,如:机器有128核,那么底层会启动128线程。每个线程能都会维持一个EventLoop。线程之间是无锁的,指令可以被128核CPU并行执行。考虑到操作系统调度存在一定程度的性能损失,可以设置为CPU核数*2,以便最大化利用CPU的每一个核。
通过如下命令查看CPU核数
[root@VM_48_141_centos work]# cat /proc/cpuinfo|grep "cores"|uniq
cpu cores : 1
因为是1核的,所以在set中设置reactor_num
$serv->set([
'reactor_num'=>4,
'worker_num'=>8,
'max_request'=>10000
]);10 -
qq_大寒_2
提问者
2018-03-23



我又开了一个bash链接tcp服务,
00
相似问题



