进程与线程的讨论

(1)多进程设计,系统开销大。   
(2)多线程设计,需要考虑同步问题  

 

1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。  
  2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。  
  两者都可以提高程序的并发度,提高程序运行效率和响应时间。  
  线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

根本区别就一点:用多进程每个进程有自己的地址空间(address   space),线程则共享地址空间。所有其它区别都是由此而来的:  
  1。速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。  
  2。资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。  
  3。同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。  
  等等

 

 

补充:

对CPU而言:

线程是资源竞争的最小单位

进程是资源分配的最小单位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值