1、什么是进程?
当一个程序开始运行时,他就是一个进程,进程包括进行中的程序和程序所使用到的内存和系统资源,而进程又是由多个线程所组成的。
2、什么是线程?
线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。
3、什么是多线程?
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
4、多线程的优点
可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其他的线程而不是等待,这样就大大提高了程序的运行效率。
5、多线程的缺点
1、线程也是程序,所以线程需要占用内存,线程越多占用内存也越多;
2、多线程需要协调和管理,所以需要CPU时间跟踪线程;
3、线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题;
4、线程太多导致控制太复杂,最终可能造成很多BUG;
进程和线程的解释
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
一文讲透“进程,线程和协程”
雲棲號資訊小哥
2020-08-05 15:37:51
连续 3 年最受欢迎:Rust,香!
雲棲號資訊小編
2020-07-21 13:01:52
Python初学者的自我修养,找到自己的方向
雲棲號資訊小哥
2020-07-16 15:19:52
Linux C/C++编程之(十七)进程间通信
我是管小亮
2020-07-08 10:47:44
java多线程方式导入excel数据入数据库
weixin_42982636
2020-07-08 11:21:30
6.4 ThreadPoolExecutor线程池的关闭方法shutdown和shutdownNow区别、示例
一点光辉
2020-07-08 10:46:31
linux下的线程池的实现
xiyuan255
2020-07-08 10:33:42
多线程轮流交替执行三种实现方法
沐雨金鳞
2020-07-08 10:30:45
想要职级到P7,啃完这946页阿里P8面试官都说详细的神仙文档足矣
mrchaochao
2020-07-08 10:00:46
iOS Abort问题系统性解决方案
雲棲號資訊小編
2020-08-17 09:19:54
面试官:你简历上有熟悉设计模式,那你给我说一下单例模式实现及线程安全吧
雲棲號資訊小哥
2020-08-05 13:55:53
14 个 JavaScript 代码优化技巧
雲棲號資訊小哥
2020-07-22 14:52:57
你说你熟悉JVM?那你知道Java对象是如何创建、存储和访问的吗?
雲棲號資訊小哥
2020-07-21 14:49:52
厉害了,如何通过双 key 来解决缓存并发问题?
雲棲號資訊小哥
2020-07-17 13:13:46