发布网友 发布时间:2022-04-25 15:38
共1个回答
热心网友 时间:2023-10-13 16:04
这里可以说加入了一个新的元素:并行实体共享同一个地址空间和所有可用数据的能力。对于某些应用而言,这种能力是必须的,而这正是多进程模型(它们具有不同的地址空间)无法表达的。第二个需要多线程的理由是,由于线程比进程更轻量级,所以它们更容易(更快)创建和撤销。在一般情况下,创建一个线程比创建一个进程要快上10-100倍。在有大量线程需要动态和快速修改时,具有这一特性是非常重要的。第三个需要多线程的理由是,关于性能方面的,若多个线程都是CPU密集型的,那么多线程并不能很明显的体现出它的性能的提升,但是在一些需要大量I/O处理和大量计算的情况下,拥有多线程允许这些活动彼此重叠进行,对程序性能的提升是非常明显的。最后,在多CPU系统中,多线程是有益的,在这样的系统中,可以真正实现物理上的多线程并行运行。线程概念试图实现的是:共享一组资源的多个线程的执行能力,以便这些线程可以为完成某项任务而共同工作。进程用于将资源集中在一起,而线程则是在CPU上被调度的实体。