为什么需要多线程编程模型


首先,我们需要多线程的主要原因是:在许多应用中会同时发生多种活动,某些活动会随着时间的推移被阻塞,通过将这些应用程序分解成可以准并行运行的多个顺序线程,程序设计模型会变得简单起来。

这里可以说加入了一个新的元素:并行实体共享同一个地址空间和所有可用数据的能力。对于某些应用而言,这种能力是必须的,而这正是多进程模型(它们具有不同的地址空间)无法表达的。


第二个需要多线程的理由是,由于线程比进程更轻量级,所以它们更容易(更快)创建和撤销。在一般情况下,创建一个线程比创建一个进程要快上10-100倍。在有大量线程需要动态和快速修改时,具有这一特性是非常重要的。


第三个需要多线程的理由是,关于性能方面的,若多个线程都是CPU密集型的,那么多线程并不能很明显的体现出它的性能的提升,但是在一些需要大量I/O处理和大量计算的情况下,拥有多线程允许这些活动彼此重叠进行,对程序性能的提升是非常明显的。


最后,在多CPU系统中,多线程是有益的,在这样的系统中,可以真正实现物理上的多线程并行运行。


线程概念试图实现的是:共享一组资源的多个线程的执行能力,以便这些线程可以为完成某项任务而共同工作。

进程用于将资源集中在一起,而线程则是在CPU上被调度的实体。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值