编程中设计并发服务器,使用多进程和多线程,请问有什么区别?
来源:互联网 发布:淘宝店铺装修哪里有 编辑:程序博客网 时间:2024/05/24 03:05
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
答案一:
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP(Symmetric Multi-Processing,对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。)机器上运行,而进程则可以跨机器迁移。
进程作为分配资源的基本单位,线程作为独立运行和独立调度的基本单位
答案一:
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP(Symmetric Multi-Processing,对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。)机器上运行,而进程则可以跨机器迁移。
进程作为分配资源的基本单位,线程作为独立运行和独立调度的基本单位
答案二:
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1。速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2。资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3。同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1。速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2。资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3。同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。
PS:进程和程序之间有什么不同?
(1)进程是动态的,程序是静态的
(2)进程有一定的生命期,程序是指令的集合
(3)1个程序可以对应多个进程,1个进程只能对应1个程序
阅读全文
0 0
- 编程中设计并发服务器,使用多进程和多线程,请问有什么区别?
- 网络编程中设计并发服务器,使用多进程与多线程有什么区别?
- 设计并发服务器,使用多进程与多线程有什么区别?
- 多进程和多线程有什么区别
- 请问在JAVA中Map和HashMap有什么区别?
- “多线程”、“分布式”、“并行”和“并发”什么意思?有个区别?
- 进程和线程有什么区别?什么是多线程?
- 请问一下vc++6.0中MFC部分的 “编辑”和Rich Edit有什么区别?
- 请问编译原理中a(a|b)*a和aa*b*a有什么区别,谢谢。
- 请问在spring 中@Repository , @Service , @Controller 和 @Component 有什么区别 ??
- 请问下(function($){}) 和$(function(){}) 和$(function($){}) 有什么区别
- 请问堆(heap)和堆栈(stack)有什么区别?
- 请问iBatis和Hibernate有什么区别呀
- 请问equals和equalsIgnoreCase有什么区别啊
- 请问IOS6和ios7都有什么区别
- Android中多线程的Runnable和thread有什么区别
- Java多线程中sleep()和wait()有什么区别
- Java多线程中sleep()和wait()有什么区别
- etcd:从应用场景到实现原理的全方位解读
- hadoop启动没有namenode节点的错误分析
- Scrapy-Item Pipeline(项目管道)
- 如何把window 7共享盘挂载到centos6.5
- 线性CCD图像处理与二值化
- 编程中设计并发服务器,使用多进程和多线程,请问有什么区别?
- python基础之杂文
- placeholder字体颜色怎么设置修改&placeholder字体颜色怎么设置修改
- Fragment之间传值CallBack(Fragment01)
- servlet
- PHP学习路线
- android Studio无法创建项目问题与解决
- C++引用折叠
- 战斗“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛