线程和进程的关系

线程与进程的关系

有线程之前:

进程需要 分配资源 和 调度执行

有线程之后:

进程专注于 资源分配;

线程负责 调度执行;

例子:

假如 一个房间里有 100 道题 需要小明做:

多进程:

多线程:

不用额外申请内存,与前面资源共享,速度就更快了;

当线程数量太多的时候,线程就会相互京城 cpu资源(cpu核心是有限的)非但不会提高效率 反而会消耗资源;

多线程还有一个 重要问题;线程之间会'打架'(起冲突)

总结

1.进程是包含线程的;

2.每个线程,也是一个独立的执行流,可以执行一些代码,并且单独参与到 cpu 的调度中;

3.每个进程,有自己的资源,进程中的线程 共用 这一份资源(内存空间,文件描述符表)

进程是资源分配的基本单位,线程时调度执行的基本单位;

4.进程和进程之间,不会相互影响,如果同一个进程中的某个线程,抛出异常是可能会影响到其他线程,会把整个进程中的所有线程都异常终止

5.同一个进程中的线程之间,可能会互相干扰,引起线程安全问题;

6.线程也不是越多越好,够合适就行,线程太多,调度开销可能非常明显

相关推荐
一定要AK1 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao1 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao1 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
迷藏4941 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
lifewange2 小时前
Linux ps 进程查看命令详解
linux·运维·服务器
彧翎Pro2 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
功德+n2 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
wuxinyan1232 小时前
Java面试题47:一文深入了解Nginx
java·nginx·面试题
新知图书2 小时前
搭建Spring Boot开发环境
java·spring boot·后端