SWOOLE进阶-05 SWOOLE结构与进程函数

本文介绍了进程、线程和协程的概念及其关系,强调协程作为轻量级、切换快速的特性。在SWOOLE中,master进程负责监听和驱动事件,主线程与reactor线程组协同工作,实现负载均衡和心跳检测等功能。通过修改进程名函数`swoole_set_process_name()`,进一步了解SWOOLE的运行流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

继续上一篇文章,主要是说到tcp的问题及其解决方法,进程与线程的概念。问题解决方法主要是用到包头+包体的方式。

进程、线程、协程概念及关系

一个运行的程序是依赖于一个进程的,但是进程的资源消耗比较大,这个时候就需要线程来处理,一个进程可以有多个线程,但是线程有个缺点:运行状态需要切换。运行状态:初始化=》运行开始=》运行中=》阻塞=》销毁。

完成多个任务,我们可以开启多个进程,但是多个进程资源消耗大,这个时候我们就开启多个线程来完成,但是多线程状态需要切换,实际上多线程并不是真正的多个线程并行同时运行,而是以察觉不到的线程切换,来实现多线程的,这个时候就诞生了协程,协程依赖于线程,那多个协程就帮助多个线程完成多个任务,协程是可以利用线程的切换状态的阻塞时间去做一些事情的。

协程特点:切换速度最快的,资源消耗最小的。协程和线程是共存的,线程的生命周期:从线程开启到线程关闭结束,协程和线程都是共存的,线程结束,协程也结束,协程利用下一个线程状态切换的时间去做其他的事。线程状态切换 对于程序来说是慢的,因为线程需要初始化=》变成运行状态=》销毁(这一过程是linux内核处理)。协程:轻量级 ,切换快,协程运行的任务不能是阻塞的。整个过程就是充分利用电脑的资源。

swoole的面向对象的写法

class Http{
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 ————————————————————————————————————— 竞赛资料源码- 【目标受众】: 本项目适合IT相关专业各种计算机技术的源代码和项目资料,如计科、人工智能、通信工程、自动化和电子信息等的在校学生、老师或者企业员工下载使用。 也适合小白学习进阶,可以用作比赛项目、可以进行项目复刻去参加同赛道比赛。 【资源内容】: 源码竞赛资料:教育部认可的大学生竞赛备赛资料代码、源码、竞赛总结。 功能质量保证:这个资源库是一个宝贵的学习平台,有助于他们深入了解计算机技术的原理和应用。这些源码经过测试和验证,可以直接运行,方便学生快速上手并开始实践。 【应用场景】: 竞赛准备:适用于各种教育部认可的竞赛,如全国电子设计大赛、全国大学生智能汽车竞赛等,他们可以借助这些资料了解竞赛的规则、要求和技巧。 学习项目开发:可以用作毕设、课设、作业和竞赛项目的开发基础,可以使用这些源码作为项目开发的基础,快速构建出具有竞争力的作品。 【互动交流】: 资料鼓励下载和使用这些资源,并欢迎学习者进行沟通交流、互相学习、共同进步。这种互动式的学习方式有助于形成良好的学习氛围,促进知识的共享和传播,为计算机相关专业的学习者提供了一个全面的学习和发展平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩淼燃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值