一图理解进程、线程。【结合真是生活(不仅仅是懵逼、不实际的概念)】
2023-04-18 14:43:11 时间
总结:
A: 个人理解:多进程、协程的区别:
相同点: 都是达到并发的处理很多任务的目的 都是起多个 程序。 不同点: 1、达到并发:~~协程是一个进程。进程必须多个。~~只能 一个CPU上来回跳,多个CPU上等着执行。 2、没有等待、阻塞的情况下,协程没毛用。因为CPU一直在运行,没有空闲时间搞什么并发去。
B:两个都可以创建多个。
C:新版swoole里没有线程的概念。有线程也是廖雪峰的源码里有,人家是c
重要底层参考(自己的文章):线程是来干嘛的
PHP的多进程、线程顶多就是处理后台复杂任务
参照物就是结合实际:
参照物很重要: php-fpm或swoole的多worker,都是多进程。 这里的多,是针对网络上大批量的请求而言的。处于网络请求阶段的多,处理很多网络请求。
而我现在是要多进程处理一个文件。 这个多的时间点是:某一个网络请求后,目的:想要再启动多个进程分开处理原来的一个任务。
结合swoole来说才有意义:
官网原话:
1、什么是协程
协程可以简单理解为线程,只不过这个线程是用户态的,不需要操作系统参与,创建销毁和切换的成本非常低,和线程不同的是协程没法利用多核 cpu 的,想利用多核 cpu 需要依赖 Swoole 的多进程模型。 2、如果同时有成千上万的并发请求,某一时刻某个进程内部会存在成千上万的协程,那么 CPU 资源是有限的,到底执行哪个协程的代码?
决定到底让 CPU 执行哪个协程的代码决断过程就是协程调度
一图全解:
相关文章
- Jease 2.6发布 Java开源内容框架
- JVM调优总结:反思
- JVM调优总结:调优方法
- JVM调优总结:新一代的垃圾回收算法
- JVM调优总结:典型配置举例
- JVM调优总结:分代垃圾回收详述
- JVM调优总结:垃圾回收面临的问题
- JVM调优总结:基本垃圾回收算法
- JVM调优总结:一些概念
- 用Java GUI编写的画板程序
- Java的动态绑定机制
- jOOQ 2.0.2发布 Java的ORM框架
- Java中带复选框的树的实现和应用
- Java网络编程菜鸟进阶:TCP和套接字入门
- 甲骨文与谷歌专利权之争定于今年三月开审
- Java调用C/C++编写的第三方dll动态链接库
- 集成开发环境 NetBeans IDE 7.1正式版发布
- kangle 2.7.5紧急发布 防hash碰撞攻击
- 东方通技术引领模式为国产软件“争权”
- UML中关联,组合与聚合等关系的辨析