进程和线程
2021/7/29 7:07:18
本文主要是介绍进程和线程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
进程和线程
- (1)进程和线程
- (2)进程间通信方式
- (3)什么时候使用多进程、什么时候使用多线程
- (4)同一个进程内的线程会共享什么资源
(1)进程和线程
- 区别
1、进程是对运行时程序的封装,是系统进行资源分配和调度的基本单元,而线程时进程的子任务,是CPU分配和调度的基本单元
2、一个进程可以有多个线程,但是一个线程只能属于一个进程。
3、进程的创建需要系统分配内存和CPU,文件句柄等资源,销毁时也要进行相应的回收,所以进程的管理开销很大,但是线程的管理开销很小
4、进程之间不会有影响,而一个线程的崩溃会导致进程崩溃,从而影响同个进程里面的其他线程。
(2)进程间通信方式
进程间通信方式主要有:管道、信号量、消息队列、信号、共享内存、套接字
(3)什么时候使用多进程、什么时候使用多线程
- 1、频繁修改:需要频繁创建和销毁的,优先使用多线程
- 2、计算量:需要大量计算的优先使用多线程,因为需要消耗大量CPU资源,且切换频繁,
- 3、相关性:任务键相关性比较强的用多线程
- 4、多分布:多机分布的使用多进程,多核分布的使用多线程
(4)同一个进程内的线程会共享什么资源
- 该进程的地址空间
- 全局变量
- 堆空间
- 线程的栈空间是自己独有的。
这篇关于进程和线程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20RabbitMQ教程:新手入门指南
- 2024-11-20Redis教程:新手入门指南
- 2024-11-20SaToken教程:新手入门指南
- 2024-11-20SpringBoot教程:从入门到实践
- 2024-11-20Java全栈教程:从入门到实战
- 2024-11-20Java微服务系统教程:入门与实践指南
- 2024-11-20Less教程:初学者快速上手指南
- 2024-11-20MyBatis教程:新手快速入门指南
- 2024-11-20QLExpress教程:初学者快速入门指南
- 2024-11-20订单系统教程:从入门到实践的全面指南