多线程和多进程

iOS 码拜 9年前 (2016-03-23) 1351次浏览
面试题目:
1、谈谈多进程和多线程
2、多线程本身并不是微观上的并发,为什么有了多进程还要有多线程
3、同时加载多个浏览器页面是属于多线程还是多进程?结合进程从传输层套接字获取数据之后进行详细分析。
解决方案

20

进程和线程的概念是不一样的,一个cpu同时只能有一个进程在运行,一个进程里面可以包含多个线程,线程间可以访问同一个内存区域
同时加载多个浏览器页面,这句本人没弄明白,假如是开了多个浏览器应该是属于多进程,假如一个浏览器里开了多个页面,应该就是多线程了,这是本人个人的理解,可能有点问题

20

进 程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个 进程中的不同执行路径。线程有本人的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序 健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明多线程和多进程
喜欢 (0)
[1034331897@qq.com]
分享 (0)